【问题标题】:How to find out if a Hive table is external or internal?如何确定 Hive 表是外部的还是内部的?
【发布时间】:2015-08-10 23:55:01
【问题描述】:

我在这里有多个问题。我正在寻找任何 hive shell 命令或查询以找到以下详细信息。

  1. 给定一个 hive 数据库名称,如何获取该数据库中的外部表列表?

  2. 给定一个 hive 表名,如何确定该表是外部的还是内部的?

提前致谢

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    1) 给定一个 hive 数据库名称,如何获取该数据库中的外部表列表?

    你可以试试这个命令:

    SHOW TABLES [IN database_name] [identifier_with_wildcards];
    

    它会给你所有的桌子。据我所知,没有直接命令可以知道所有外部/内部类型的表。为此,您已经使用 JDBC 连接连接到 HiveMetastore 并获取所需的信息。

    2) 给定一个 hive 表名,如何判断该表是外部表还是内部表?

    您可以尝试以下任何命令:

    describe formatted table_name
    
    describe extended table_name
    

    它显示了一个表的所有详细信息。还有:

    Table Type:             EXTERNAL_TABLE           
    Table Parameters:       EXTERNAL=TRUE
    

    希望对你有帮助...!!!

    【讨论】:

    • 此外,如果它是一个内部表,它会说:Table Type: MANAGED_TABLE 执行describe formatted table_name
    猜你喜欢
    • 2017-06-16
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    相关资源
    最近更新 更多