Ich habe zwei große RDDs wie unten.Erzeugen einer neuen RDD-Variable aus zwei RDDs im großen Maßstab
#First RDD
key1 value1 labelA
key2 value2 lableB
.....
#Second RDD
stepA key1 value1
stepB key2 value2
...
Und was ich extrahieren möchte, ist wie folgt.
labelA stepA key1 value1
labelB stepB key2 value2
Allerdings ist mein Problem, dass die zwei RDDs Größe sehr groß ist. Also, Join könnte viel Zeit in Anspruch nehmen. Ich möchte eine Join-Methode vermeiden und möchte die Shuffle-Größe so gering wie möglich halten. Auch das Sammeln einer RDD und das Erstellen von Broadcast-Variablen funktionierte wegen ihrer Größe nicht. Beachten Sie, dass die RDD-Größe mehr als 10 Gigabyte beträgt, was bedeutet, dass der Treiber sie nicht auf einmal speichern kann.
Gibt es also eine Möglichkeit, eine neue RDD aus zwei großen RDD zu generieren? Wie ich oben erwähnt habe, möchte ich Join-Methode vermeiden.
Danke.
können Sie weitere Details zu den RDDs hinzufügen. Wie sehen die aktuellen Daten aus? Wie soll die neue RDD aussehen? Wie werden die Daten in der neuen RDD abgeleitet? Bitte [bearbeiten] und stellen Sie [mcve] bereit. – philantrovert
Es gibt mehrere Möglichkeiten, RDDs zu kombinieren: Union, Join ... aber wir wissen nicht, was Sie tun wollen ;-) – Oli