hadoop - 如何在 HIVE 表中找到最近的分区

标签 hadoop apache-spark hive

我有一个分区表 - 有 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/

相关文章:

maven - 编译HDP配置单元2.5.0.0和2.4.2.40失败,出现相同错误

hadoop - Sqoop队列调度

sql - Hive-如何获取派生列名称并在同一查询中使用它?

hadoop - 使用 MapReduce 查找非对称对

java - Hive UDAF中的NullPointException

hadoop - 错误消息 : "offset (0) + length (4) exceed the capacity of the array: 2" while fetching data from HBase

scala - 使用scala读取后如何删除hdfs目录中的文件?

scala - FAIR 是否可用于 Spark Standalone 集群模式?

azure - Spark : One of the request inputs is not valid 在 azure 中的 Spark Dataframe 写入问题

hadoop - 谁能解释一下 c000 在 c000.snappy.parquet 或 c000.snappy.orc 中的含义?