Hive 按配置单元中的一列分组,要从另一列中选择任何条目吗
因此,我有一个包含以下两列的配置单元表:Hive 按配置单元中的一列分组,要从另一列中选择任何条目吗,hive,Hive,因此,我有一个包含以下两列的配置单元表: TABLE: t, Columns: url string, json string 在表中,同一url可能有多个条目。我只想为每个url选择一个json。 但是,我找不到合适的agregator函数来从JSON中选择一个 查询: SELECT url, Aggregator(json) FROM t GROUP BY url; 对于允许我从集合中选择一个元素的合适聚合器函数,有什么建议吗?既然您没有提到如何选择“json”值,我认为这无关紧要
TABLE: t,
Columns: url string, json string
在表中,同一url可能有多个条目。我只想为每个url选择一个json。
但是,我找不到合适的agregator函数来从JSON中选择一个
查询:
SELECT url, Aggregator(json)
FROM t
GROUP BY url;
对于允许我从集合中选择一个元素的合适聚合器函数,有什么建议吗?既然您没有提到如何选择“json”值,我认为这无关紧要。有两种方法可以做到这一点 样本数据
select url, json from t order by url, json;
234 Test_2
234 Test_3
234 Test_1
123 Test_3
123 Test_2
123 Test_1
使用first\u value
功能
select url, val from
(select url, first_value(json) val from t) a
group by url, val;
234 Test_2
123 Test_2
另一种方法是利用Facebook()
create temporary function choose_one as 'com.facebook.hive.udf.UDAFChooseOne';
select url, choose_one(json) from t group by url;
123 Test_3
234 Test_2