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

q35jwt9p  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(434)

我的table在雅典娜大街上。一般来说,我不熟悉sql、hive或雅典娜。我有下表

col_id , col_list
ABC    , [abcde, 123gd, 12345, ...]
B3C    , [bbbbb, ergdg, 12345, ...]
YUT    , [uyteh, bbbbb, 12345, ...]
``` `col_id` 是唯一的,并且一行数组中的元素也是唯一的。
我需要运行一个查询来计算在不同行的不同数组中重复的元素总数。在上面的示例中,数组元素 `12345` 显示在第一、第二和第三行,以及 `bbbbb` 显示在第2行和第3行中,因此重复元素的数量为2。
行的数量不是很大,所以我想性能不是问题。
有谁能告诉我怎么用雅典娜写这个问题吗?谢谢您!
egdjgwm8

egdjgwm81#

可以分解数组并聚合:

select col, count(*)
from t lateral view
     explode(t.col_list) col
group by col
order by count(*) desc;

相关问题