Entspricht der linken äußeren Verbindung in SPARK

7

Gibt es in SPARK SCALA eine linke äußere Verbindung? Ich verstehe, dass es eine Join-Operation gibt, die dem Datenbank-Inner-Join entspricht.

    
user3279189 21.04.2014, 08:21
quelle

4 Antworten

15

Spark Scala hat die Unterstützung der linken äußeren Verbindung. Schau mal hier Ссылка

Die Verwendung ist ziemlich einfach wie

%Vor%     
MARK 24.07.2014, 12:29
quelle
5

Es ist so einfach wie rdd1.leftOuterJoin(rdd2) , aber Sie müssen sicherstellen, dass beide RDDs in Form von (Schlüssel, Wert) für jedes Element der RDDs sind.

    
Thang Tran 13.07.2015 22:44
quelle
3

Ja, da ist es. Sehen Sie sich die DStream-APIs und sie haben sowohl linke als auch rechte äußere Verbindungen bereitgestellt.

Wenn Sie einen Stream vom Typ haben, sagen wir "Record", und Sie möchten zwei Datenströme verbinden, dann können Sie das tun wie:

%Vor%

Wie die APIs sagen, müssen die linken und rechten Streams Hash-partitioniert sein. das heißt, Sie können einige Attribute aus einem Datensatz übernehmen (oder auf andere Weise), um einen Hash-Wert zu berechnen und ihn in DStream zu konvertieren. left und right streams haben den Typ DStream[(Long, Record)] , bevor Sie diese Join-Funktion aufrufen. (Es ist nur ein Beispiel. Der Hash-Typ kann auch anders als Long sein.)

    
gaganbm 21.04.2014 12:39
quelle
0

Spark-SQL / Data Frame API unterstützt auch Links / Rechts / FULL äußere schließt sich direkt an:

Ссылка

Aufgrund dieses Fehlers: Ссылка Outer-Joins in Funken vor 1.6 kann sehr langsam sein (es sei denn, Sie haben wirklich kleine Datensätze zu verbinden). Es verwendet kartesisches Produkt zu verwenden und dann Filterung vor 1.6. Jetzt ist es mit SortMergeJoin statt.

    
Tagar 01.02.2016 00:25
quelle

Tags und Links