我需要找到数组中特定元素的出现次数,我们可以使用 array_contains
功能,但我正在寻找另一个解决方案,可以低于Spark2.2工作
输入:
+----+------------------+
|col1| array_col2|
+----+------------------+
| x| [1, 2, 3, 7, 7]|
| z|[3, 2, 8, 9, 4, 9]|
| a| [4, 5, 2, 8]|
+----+------------------+
``` `result1` ->事故发生次数 `1,2` 在给定的数组列中
array_col2 `result2` ->事故发生次数 `3,7,9` 在给定的数组列中 `array_col2` 预期产量:
+----+------------------+----------+----------+
|col1| array_col2| result1| result2|
+----+------------------+----------+----------+
| x| [1, 2, 3, 7, 7]| 2| 3|
| z|[3, 2, 8, 9, 4, 9]| 1| 3|
| a| [4, 5, 2, 8]| 1| 0|
+----+------------------+----------+----------+
1条答案
按热度按时间am46iovg1#
您可以使用自定义项:
您还可以分解数组,然后分组并计数: