最好用一个例子来解释这个问题。
原始数据
Key | Value
-----------
A | 1
A | 2
B | 3
B | 4
B | 5
C | 3
C | 4
第1步:按A分组并将值收集到列表中
A | (1,2)
B | (3,4,5)
C | (3,4)
第2步:将所有组合收集到列表中
A | [(1,2)]
B | [(3,4), (3,5), (4,5)]
C | [(3,4)]
第3步。计算对的频率
Pairs | Count
-------------
(1,2) | 1
(3,4) | 2
(3,5) | 1
(4,5) | 1
我想从原始数据转到第3步。我现在有一个脚本,该脚本的功能类似于第1步和第2步,但是它非常慢,通常在Spark上用完内存(我正在使用AWS Glue )。
在Spark中是否有一种有效的方法?
谢谢。