Hive:从集合中选择最近的项目

Posted

技术标签:

【中文标题】Hive:从集合中选择最近的项目【英文标题】:Hive: select the most recent item from the set 【发布时间】:2016-03-16 11:29:12 【问题描述】:

我正在寻找一种从 Hive 集合中选择最新项目(日期)的方法。例如有下表t1:

item       date
a          2016-01-01
a          2016-02-04
b          2016-01-10

之后

hive> select item, collect_set(date) as dates from t1 group by item;

我有

item       dates
a          [2016-01-01, 2016-02-04]
b          [2016-01-10]

所以现在我需要摆脱过时的日期,即创建表格

item       date
a          2016-02-04
b          2016-01-10

谁能帮忙?

【问题讨论】:

【参考方案1】:

只需使用max():

select item, max(date) as date
from t1
group by item;

如果你真的想要一个新表,你可以使用create table as

【讨论】:

以上是关于Hive:从集合中选择最近的项目的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark:从随机项目函数创建一个集合

Hive 查询以从最新分区中选择行

如何从集合视图中删除项目?

从包含 m 个项目的集合 S 中选择的排列到另一个长度为 N (N>m) 的列表中

如何从 SQL 中包含多个列的报表中的列中选择最近的项目?

必盈带你走进Hive的真实世界