【发布时间】:2018-12-10 18:10:19
【问题描述】:
我有一个如下所示的 RDD
RDD( (001, 1, 0, 3, 4), (001, 3, 4, 1, 7), (001, , 0, 6, 4), (003, 1, 4, 5, 7), (003, 5, 4, , 2), (003, 4, , 9, 2), (003, 2, 3, 0, 1) )
第一列是合同 ID(001 和 003),我需要将具有相似合同 ID 的记录分组,并找到除合同 ID 之外的所有列的平均值,然后用这些列的平均值替换缺失的列与该合同 ID 相关。
所以,最终的输出是
RDD( (001, 1, 0, 3, 4), (001, 3, 4, 1, 7), (001, (1+3)/3 , 0, 6, 4), (003, 1, 4, 5, 7), (003, 5, 4, (5+9+0)/4 , 2), (003, 4, (4+4+3)/4 , 9, 2), (003, 2, 3, 0, 1) )
我使用合同 ID 作为密钥进行了 groupByKey,然后我就卡住了。我真的很感激任何建议。
【问题讨论】:
标签: scala apache-spark rdd