Left Joins
Neben der Arbeit mit einzelnen Data Frames kannst du mit sparklyr auch zwei Data Frames zusammenführen. Eine ausführliche Einführung in das Zusammenführen von Tabellen mit dplyr findest du im Kurs Joining Data with dplyr. Im restlichen Kapitel siehst du Beispiele, wie das in Spark funktioniert.
Ein Left Join nimmt alle Werte aus der ersten Tabelle und sucht passende Zeilen in der zweiten. Findet er eine Übereinstimmung, werden die Daten aus der zweiten Tabelle ergänzt; andernfalls werden fehlende Werte eingefügt. Das Prinzip zeigt diese Grafik.

Left Joins sind eine Art Mutating Join, da sie der ersten Tabelle einfach Spalten hinzufügen. Für einen Left Join mit sparklyr rufst du left_join() auf und übergibst zwei Tibbles sowie einen Character-Vektor mit den Spalten, über die verknüpft wird.
left_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Wenn du diesen Join in Worten beschreibst, werden die Tabellennamen vertauscht. Dieser Join würde so beschrieben: „another_tibble wird mit a_tibble per Left Join verknüpft“.
In dieser Übung lernst du einen weiteren Spark-DataFrame kennen, der Begriffe enthält, die jede:n Künstler:in beschreiben. Diese reichen von eher allgemeinen Begriffen wie „pop“ bis zu Nischengenres wie „swiss hip hop“ und „mathgrindcore“.
Diese Übung ist Teil des Kurses
Einführung in Spark mit sparklyr in R
Anleitung zur Übung
Eine Spark-Verbindung wurde als spark_conn für dich erstellt. Tibbles, die mit den in Spark gespeicherten Track-Metadaten bzw. Artist-Terms verbunden sind, wurden als track_metadata_tbl bzw. artist_terms_tbl vordefiniert.
- Führe einen Left Join aus, um die Artist-Terms über die Spalte
artist_idmit den Track-Metadaten zu verknüpfen.- Die Tabelle, an die angefügt wird,
track_metadata_tbl, steht zuerst. - Die Tabelle, die sich an die erste anfügt,
artist_terms_tbl, kommt danach. - Weise das Ergebnis
joinedzu.
- Die Tabelle, an die angefügt wird,
- Verwende
sdf_dim(), um zu bestimmen, wie viele Zeilen und Spalten die verknüpfte Tabelle hat.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# track_metadata_tbl and artist_terms_tbl have been pre-defined
track_metadata_tbl
artist_terms_tbl
# Left join artist terms to track metadata by artist_id
joined <- ___(___, ___, by = ___)
# How many rows and columns are in the joined table?
___