如何设计这个 spark join

How to design this spark join

我需要加入两个大 RDD,而且可能需要加入两次。感谢任何帮助来设计这些连接。

第一个 RDD 中的每个产品配对都有一行吗?

如果你这样做(或者它很接近),那么你可能想要做一些事情,比如通过 customerId 对第二个 RDD 进行分组,为每个配对创建一个元素,然后通过配对重新排列和分组该 RDD,然后组获取 customerId 的列表,然后加入以添加 similarity.

(我认为这是否会导致或多或少的数学运算取决于每个客户购买的产品数量的分布。)

就像 zero323 的评论也暗示的那样,一旦你从 customerId 上分组得到配对,重新计算 similarity 可能比加入一个巨大的数据集更便宜。