我总体上不熟悉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中编写此查询吗?谢谢!
您可以分解数组并进行聚合:
select col, count(*)
from t lateral view
explode(t.col_list) col
group by col
order by count(*) desc;