在嵌套的子查询中显示配置单元分区

时间:2015-10-26 02:24:21

标签: hive hiveql

我有一个按日划分的配置单元表(例如20151001,20151002,....)。 是否有hive查询以可以在嵌套子查询中使用的方式列出这些分区?

我可以按照以下方式做点什么:

SELECT * FROM (SHOW PARTITIONS test) a where ...

查询 -

SELECT ptn FROM test 

返回与测试表中的行数一样多的行。我希望它只返回与分区数一样多的行(不使用DISTINCT函数)

1 个答案:

答案 0 :(得分:0)

一个潜在的解决方案是使用shell脚本/ python从感兴趣的表中找到hdfs位置的分区。

与hive表对应的数据存储在hdfs例如

/ hive / database / table / partition / datafiles

在你的情况下, /蜂巢/数据库/表/ 20151001 /数据文件

如果表格被删除,则会有与群集大小一样多的单个文件。

获得上述路径后,创建一个shell脚本来遍历文件夹(在本例中为20151001等)。

在shell变量中捕获它并将其作为参数传递给hive查询。