【发布时间】:2017-01-24 00:38:30
【问题描述】:
我一直在尝试合并低于 averagePoints1 和 kpoints2 的两个 Rdd。它一直抛出这个错误
ValueError: Can not deserialize RDD with different number of items in pair: (2, 1)
我尝试了很多东西,但我不能两个 Rdd 是相同的,具有相同数量的分区。我的下一步是在两个列表上应用欧几里德距离函数来测量差异,所以如果有人知道如何解决这个错误或有不同的方法我可以遵循,我将不胜感激。
提前致谢
averagePoints1 = averagePoints.map(lambda x: x[1])
averagePoints1.collect()
Out[15]:
[[34.48939954847243, -118.17286894440112],
[41.028994230117945, -120.46279399895184],
[37.41157578999635, -121.60431843383599],
[34.42627845075509, -113.87191272382309],
[39.00897622397381, -122.63680410846844]]
kpoints2 = sc.parallelize(kpoints,4)
In [17]:
kpoints2.collect()
Out[17]:
[[34.0830381107, -117.960562808],
[38.8057258629, -120.990763316],
[38.0822414157, -121.956922473],
[33.4516748053, -116.592291648],
[38.1808762414, -122.246825578]]
【问题讨论】:
标签: scala hadoop apache-spark pyspark rdd