【发布时间】:2019-05-20 00:57:41
【问题描述】:
使用 Spark,我的算法的中间步骤之一将输出 (Key, Vector) 到 PairRDD。在这一步完成后,我想生成所有可能的 2 组合键并对它们的值执行进一步的操作,即我想要一个带有 ((Key1, Key2), (Vector1, Vector2)) 的 PairRDD。
但是,我不确定如何使用 Spark 以有效的方式执行此操作 - 我能想象的唯一方法是在一台机器上收集所有键值对并在那里执行组合,这显然不是可扩展。
我想我也许可以利用我的数据集的另一个属性:我只需要考虑 (Key1, Key2) 的组合,如果两个值向量的点积 (Vector 1, Vector2) 非零。 (实际上,我的向量是 HashMap,零点积意味着一个空的 keySet 交集)
关于如何以可扩展的方式实现这一目标的任何想法?我想不通。谢谢!!
【问题讨论】:
标签: java apache-spark combinations scalability