【发布时间】:2017-06-30 15:46:37
【问题描述】:
我有一个 RDD,其中每个元素都是一个形式为
的元组[ (index1,SparseVector({idx1:1,idx2:1,idx3:1,...})) , (index2,SparseVector() ),... ]
我想通过使用mllib.linalg.SparseVector 类提供的 SparseVector1.dot(SparseVector2) 方法对该 RDD 中的每个值进行点积。我知道 python 有一个itertools.combinations 模块,可用于实现要计算的点积组合。有人可以提供一个 code-sn-p 来实现同样的目标吗?我只能做一个RDD.collect(),所以我收到了RDD中所有元素的列表,然后在这个列表上运行itertools.combinations,但根据我的理解,这将在根上执行所有计算并且不会分布式本身。有人可以建议一种更分散的方式来实现这一点吗?
【问题讨论】:
标签: apache-spark pyspark rdd combinatorics