我有一个分区表 - 有 201 个分区。 我需要在此表中找到最新的分区并使用它来后期处理我的数据。查找所有分区列表的查询是:
use db;
show partitions table_name;
我需要一个查询来找到这些分区中的最新分区。分区格式
ingest_date=2016-03-09
我尝试使用 max() 却得到了错误的结果。我不想通过做遍历整个表
select max(ingest_date) from db.table_name;
这会给我预期的输出..但是扼杀了将分区放在第一位的全部意义。
是否有更有效的查询来获取 HIVe 表的最新分区?
最佳答案
您可以使用“显示分区”:
hive -e "set hive.cli.print.header=false;show partitions table_name;" | tail -1 | cut -d'=' -f2
这将为您提供“2016-03-09”作为输出。
关于hadoop - 如何在 HIVE 表中找到最近的分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095790/