Spark:计算所有对的频率

时间:2018-11-22 20:05:00

标签: apache-spark apache-spark-sql

最好用一个例子来解释这个问题。

原始数据

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中是否有一种有效的方法?

谢谢。

0 个答案:

没有答案