使用Spark排名

时间:2016-08-26 15:11:42

标签: apache-spark pyspark

我有一个函数,其中f: X × X → Y XY是实数值,RDD X的值为a, b, ... ∈ X

我需要做

Y = X.cartesian(X)\
     .filter(lambda (a, b): a != b)\
     .map(lambda (a, b): (a, b, f(a, b)))

对于(a, b, f(a, b))中的每个Y,我需要根据每个b的{​​{1}}对f(a, b)进行排名。

我知道我可以转换为数据帧,然后在Spark中使用窗口函数。但是有更有效的方法吗? a将包含大约10,000条记录。

0 个答案:

没有答案