Gibt es in SPARK SCALA eine linke äußere Verbindung? Ich verstehe, dass es eine Join-Operation gibt, die dem Datenbank-Inner-Join entspricht.Entspricht der linken äußeren Verbindung in SPARK
Antwort
Spark Scala hat die Unterstützung der linken äußeren Verbindung. Werfen Sie einen Blick hier http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.api.java.JavaPairRDD
Die Nutzung ist ganz einfach, wie
rdd1.leftOuterJoin(rdd2)
Ja, gibt es. Werfen Sie einen Blick auf die DStream APIs und sie haben Links sowie rechts äußere Verbindungen zur Verfügung gestellt.
Wenn Sie einen Stream von der Art haben wir sagen, ‚Record‘, und Sie möchten zwei Ströme von Datensätzen verbinden, dann können Sie dies tun, wie:
var res: DStream[(Long, (Record, Option[Record]))] = left.leftOuterJoin(right)
Da die APIs sagen, die linke und Rechte Streams müssen 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 werden vom Typ DStream[(Long, Record)]
sein, bevor Sie diese Join-Funktion aufrufen. (Es ist nur ein Beispiel. Der Hash-Typ kann von einem anderen Typ sein als .)
Es als rdd1.leftOuterJoin(rdd2)
so einfach ist, aber Sie müssen sicherstellen, dass beide rdd die in Form von (Schlüssel, Wert) für jedes Element die RDDs.
Spark-SQL/Data Frame API unterstützt auch Links/Rechts/FULL Außen schließt sich direkt an:
https://spark.apache.org/docs/latest/sql-programming-guide.html
Aufgrund dieses Fehlers: https://issues.apache.org/jira/browse/SPARK-11111 Outer-Joins in Funken vor 1.6 kann sehr langsam sein (es sei denn, Sie haben wirklich kleine Datensätze zu verbinden). Früher verwendete es kartesische Produkte und filterte dann vor 1.6. Jetzt verwendet es stattdessen SortMergeJoin.
- 1. linken äußeren beitreten in t-sql
- 2. MySQL linken äußeren Join langsam
- 3. Löschen mit linken äußeren Join in Postgres
- 4. Bienenstock linken äußeren lang join Lauf
- 5. Django linken äußeren Join mit Filter
- 6. Wie zu implementieren linken äußeren Join in Python Pandas?
- 7. Einrückungsfehler: Eingeklickt entspricht keiner äußeren Einrückungsebene
- 8. SQL linken äußeren Join zu finden, nicht in 3 Tabellen
- 9. Problem Löschen von Zeilen linken äußeren Verknüpfung in mysql
- 10. Unterschied zwischen links verbinden und linken äußeren Verknüpfung
- 11. JDBC Spark-Verbindung
- 12. Linq to Entity mit mehreren linken äußeren Joins
- 13. SQL-Abfrage für das Erhalten der Anzahl in der gleichen Tabelle mit linken äußeren Join
- 14. Filtern nach, ob der Spaltenwert einer Liste in Spark entspricht
- 15. Spark EC2 Verbindung abgelehnt
- 16. LINQ to SQL mehrere Tabellen linken äußeren Join
- 17. Doppelte Werte im linken äußeren Join einmal anzeigen
- 18. konvertieren sql zu linq mit linken äußeren join
- 19. Wie verwende ich den linken äußeren Join nach dem linken Join für diese Tabellen?
- 20. Hinzufügen von Filtern in der rechten Seitentabelle auf den linken äußeren Joins
- 21. Wie kann ich Daten mit der linken äußeren Verknüpfung in Fetch XML abrufen?
- 22. Entspricht die Spark-Liste den IDropInItemRenderer-Schnittstellen?
- 23. * Rechts * äußere Verbindung in LINQ
- 24. # Fehler: EinrückungError: Eingeklickt entspricht keiner äußeren Einrückung # In der ersten Zeile des Codes
- 25. langsame Abfrage mit der linken äußeren Verknüpfung und ist null Bedingung
- 26. Ersetzen von Standard-Nullwerten, die aus dem linken äußeren Join zurückgegeben werden
- 27. Wie erzwinge ich die Verbindung in einem linken Join-Zweig?
- 28. Erneutes Erstellen einer großen komplexen Abfrage mit linken äußeren Joins in LINQ
- 29. Automatisieren Sie den Spark-Submit-Job mit der DB2-Verbindung.
- 30. Operatoren überladen: Entspricht der 1. Parameter dem linken und der 2. dem rechten Operanden?
danke..es wird hilfreich sein, wenn Sie ein Codebeispiel geben könnten ... – user3279189