如何从 hive 获取最新的分区数据
Posted
技术标签:
【中文标题】如何从 hive 获取最新的分区数据【英文标题】:How to getting latest partition data from hive 【发布时间】:2020-03-24 10:28:29 【问题描述】:我需要从 hive 中具有最新分区的表中获取所有记录。该表被date,year,month
分区,例如(date=25,year=2020,month=3)
,同样会有很多分区。
分区不是静态的,它会经常变化。我正在尝试处理获取查询中的最新分区。 有人可以帮我写查询吗?
【问题讨论】:
【参考方案1】:试试这个:
select *
from your_table t
where concat_ws('-',t.year,t.month,t.date) in (select max(concat_ws('-',s.year,s.month,s.date)) from your_table s)
还请阅读这些相关答案:
https://***.com/a/59675908/2700344
https://***.com/a/41952357/2700344
【讨论】:
@AnushaRadhakrishnan 已修复。添加表别名 字段年、月、日是 int 数据类型,因此 concat_ws 不起作用 @AnushaRadhakrishnan 好的,使用 cast(year as string), lpad(month,2,0) lpad(date ,2,0)以上是关于如何从 hive 获取最新的分区数据的主要内容,如果未能解决你的问题,请参考以下文章