我正在排除通过cloudera impala使用create table x-like parquet语法创建的外部(非托管)表上的应用程序问题。我正在尝试确定包含外部表分区的文件的位置,但很难确定如何执行此操作,也很难找到描述此操作的文档。
如果我做了一个:
show create table T1;
我看到Hive管理的位置,例如:
LOCATION 'hdfs://nameservice1/user/hive/warehouse/databaseName'
如果我做了一个:
describe formatted T1;
我看到这个表实际上是外部的,但是它没有给出任何关于非托管位置的细节。
| Table Type: | EXTERNAL_TABLE
| Location: | hdfs://nameservice1/user/hive/warehouse/databaseName/T1
问题:如何确定构成此外部表的实际外部文件的位置/uri/父目录?
1条答案
按热度按时间ecfsfe2w1#
使用impala或hive创建外部表时,如果希望知道位置,则必须将hdfs位置放在其中,例如:
创建外部表my\u db.table\u name(列字符串)位置“hdfs\u path”
如果不提供这些文件的位置,则这些文件可能位于执行comand create表的用户目录下。
有关更多详细信息,请参见以下链接:
https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_create_table.html
我希望能帮上忙!