如何确定Hive表是外部还是内部?

San*_*kar 16 hadoop hive

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

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

  2. 给定一个hive表名,我怎样才能知道该表是外部的还是内部的?

提前致谢

Muk*_*h S 22

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

您可以尝试以下命令:

SHOW TABLES [IN database_name] [identifier_with_wildcards];
Run Code Online (Sandbox Code Playgroud)

它将为您提供所有表格.据我所知,没有直接命令知道所有外部/内部类型的表.为此,您已使用JDBC连接来连接到HiveMetastore并获取所需信息.

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

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

describe formatted table_name

describe extended table_name
Run Code Online (Sandbox Code Playgroud)

它显示了表格的所有详细信息.随着 :

Table Type:             EXTERNAL_TABLE           
Table Parameters:       EXTERNAL=TRUE
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你...!!!

  • 此外,如果它是一个内部表,它会在执行`describe formatted table_name`时说:`Table Type:MANAGED_TABLE`. (2认同)