Hive描述分区以显示分区URL

时间:2014-02-27 00:13:13

标签: java sql hadoop hive

我知道有

decribe formatted table_name;

显示表格格式。 除了

之外,还有办法获得有关分区的更多信息吗?
show partitions table_name;

我看到Hive语言手册有这个

DESCRIBE [EXTENDED|FORMATTED] [db_name.]table_name PARTITION partition_spec

我想查看所有分区以及存储数据的hdfs或s3中的url。

3 个答案:

答案 0 :(得分:9)

显示分区:

show partitions table_name

显示物理存储分区的位置:

describe formatted dbname.tablename partition (name=value)

我不知道创建输出(分区,路径)的内置方法,但您可以使用这两个命令和一些grep / awk或其他任何内容来构建它。

答案 1 :(得分:1)

analyze table TABLENAME partition(the_partition) compute statistics nopass;

上面的代码为您提供了有关分区的更多信息(文件数,行数,总大小),但没有为您提供准确的位置。

如果您需要准确的位置,则可能需要创建外部表格。

答案 2 :(得分:0)

有多个描述分区并获取分区URL的选项

  1. 使用已格式化的描述

    DESCRIBE FORMATTED邮政编码PARTITION(state ='PR');

  2. 使用扩展的显示表

    SHOW TABLE EXTENDED LIKE邮政编码PARTITION(state ='PR');

  3. 运行HDFS命令。如果您知道所有分区都存储在同一位置,请使用此选项。

    hdfs dfs -ls / <表名称>

  4. 如果您只是想知道表上的现有分区

    显示分区

您可以在Hive Show all Table Partitions

上找到有关输出的更多详细信息。