sql - Impala 外部表位置/URI

标签 sql hadoop cloudera impala

我正在对外部(非托管)表的应用程序问题进行故障排除,该表是通过 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/父目录?

最佳答案

当您使用 impala 或 hive 创建外部表并且您想知道必须放置 HDFS 位置的位置时,例如:

创建外部表 my_db.table_name (列字符串)LOCATION 'hdfs_path'

如果不提供这些文件,可能位于执行命令和创建表的用户目录下。

更多详细信息,您可以查看此链接:

https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_create_table.html

希望能帮到你!

关于sql - Impala 外部表位置/URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47785178/

相关文章:

java - 如何获取cloudera中文件夹的路径?

java - Oozie-将jar文件复制到Cloudera上的lib文件夹时被截断

php - MSSQL/dblib 的 PDO 日期时间格式

bash - 如何使用bash在HDFS中的一行上列出带有元数据的文件?

java - Apache Spark : In PairFlatMapFunction, 如何将元组添加回 Iterable<Tuple2<Integer, String>> 返回类型

java - 次要名称节点未启动

eclipse-plugin - hadoop eclipse插件

c# - 将新记录插入 SQL Server

mysql - 使用 IN 运算符进行 JOIN 查询

java - 从html插入数据到数据库,查询错误