在嵌套子查询中显示配置单元分区
Posted
技术标签:
【中文标题】在嵌套子查询中显示配置单元分区【英文标题】:show hive partitions in a nested sub query 【发布时间】:2015-10-26 02:24:21 【问题描述】:我有一个按天分区的配置单元表(例如 20151001、20151002、....)。 是否有一个 hive 查询以可以在嵌套子查询中使用的方式列出这些分区?
也就是说,我可以做一些事情吗:
SELECT * FROM (SHOW PARTITIONS test) a where ...
查询-
SELECT ptn FROM test
返回与测试表中的行数一样多的行。我希望它只返回与分区数一样多的行(不使用 DISTINCT 函数)
【问题讨论】:
【参考方案1】:一个可能的解决方案是使用 shell 脚本/python 从 hdfs 位置查找感兴趣表的分区。
hive表对应的数据存储在hdfs e.g中
/hive/数据库/表/分区/数据文件
在你的情况下, /hive/database/table/20151001/datafiles
如果表被分桶,则单个文件的数量与集群大小一样多。
获得上述路径后,创建一个 shell 脚本以循环遍历该文件夹(在本例中为 20151001 等)
在 shell 变量中捕获它并将其作为参数传递给 hive 查询。
【讨论】:
这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review @il_raffa 这提供了问题的答案,即使不使用蜂巢 @Virendhar Sivaraman 请改进你的答案,因为它目前是写的,所以很难理解。要获得一个好的答案,您还应该更详细地描述如何执行循环 为答案添加了更多详细信息。希望这会有所帮助。以上是关于在嵌套子查询中显示配置单元分区的主要内容,如果未能解决你的问题,请参考以下文章