我正在对通过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 /父目录?
答案 0 :(得分:1)
使用impala或hive创建外部表时,您需要知道必须放置HDFS位置的位置,例如:
CREATE EXTERNAL TABLE my_db.table_name (列字符串)LOCATION'hdfs_path'
这些文件的可能位置,如果不这样做,则在执行命令create table的用户目录下。
有关详细信息,请参阅以下链接:
https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_create_table.html
我希望能帮到你!