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

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

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

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

egdjgwm81#

可以分解数组并聚合:

  1. select col, count(*)
  2. from t lateral view
  3. explode(t.col_list) col
  4. group by col
  5. order by count(*) desc;

相关问题