Athena:如何检查不同行的数组中重复元素的数量

问题描述 投票:0回答:1

我总体上不熟悉SQL或HIVE或Athena。我有下表

col_id , col_list
ABC    , [abcde, 123gd, 12345, ...]
B3C    , [bbbbb, ergdg, 12345, ...]
YUT    , [uyteh, bbbbb, 12345, ...]  

col_id是唯一的,并且一行的数组中的元素也是唯一的。

我需要运行一个查询,该查询计算在不同行中不同数组中重复的元素总数。在上面的示例中,数组元素12345在第一,第二和第三行中显示,bbbbb在第二和第三行中显示,因此重复元素的数量为2。

行数不大,所以我想这里的性能不是问题。

有人可以让我知道如何在Athena中编写此查询吗?谢谢!

sql hiveql amazon-athena
1个回答
0
投票

您可以分解数组并进行聚合:

select col, count(*)
from t lateral view
     explode(t.col_list) col
group by col
order by count(*) desc;
© www.soinside.com 2019 - 2024. All rights reserved.