Ich habe versucht, die beiden Rdds unterhalb von averagePoints1 und kpoints2 zusammenzuführen. Es hält werfen diesen FehlerWie kann ich zwei RDDs in PySpark zippen?
ValueError: Can not deserialize RDD with different number of items in pair: (2, 1)
und ich versucht, viele Dinge, aber ich kann nicht die beiden RDDs identisch sind, haben die gleiche Anzahl von Partitionen. Mein nächster Schritt ist die Anwendung der euklidischen Distanzfunktion auf den beiden Listen, um den Unterschied zu messen. Wenn jemand weiß, wie er diesen Fehler lösen kann oder einen anderen Ansatz verfolgt, dem ich folgen kann, würde ich das wirklich schätzen.
Vielen Dank im Voraus
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]]
kpoints2 eine Probe von einem ist RDD Durchschnittspunkte sind die Durchschnittspunkte von der RDD und ich werde ein wh schreiben ie Schleife bis zur Konvergenz, damit diese Lösung nicht hilft. Hast du bitte andere Ideen? –