我有一个函数,其中f: X × X → Y
X
和Y
是实数值,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条记录。