Anti Joins
In der vorherigen Übung war der verbundene Datensatz kleiner als erwartet, weil nicht allen Artists Tags zugeordnet waren. Anti Joins sind sehr hilfreich, um Probleme mit anderen Joins aufzuspüren.
Ein Anti Join gibt die Zeilen der ersten Tabelle zurück, für die in der zweiten Tabelle kein Treffer gefunden wird. Das Prinzip ist in dieser Grafik dargestellt.

Anti Joins sind eine Art Filtering Join, denn sie liefern den Inhalt der ersten Tabelle zurück, jedoch mit nach den Matching-Bedingungen gefilterten Zeilen.
Die Syntax für einen Anti Join ist mehr oder weniger dieselbe wie für einen Left Join: Ersetze einfach left_join() durch anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Diese Übung ist Teil des Kurses
Einführung in Spark mit sparklyr in R
Anleitung zur Übung
Eine Spark-Verbindung wurde für dich als spark_conn erstellt. Tibbles, die auf die in Spark gespeicherten Track-Metadaten bzw. Artist-Terms verweisen, wurden als track_metadata_tbl bzw. artist_terms_tbl vordefiniert.
- Verwende einen Anti Join, um die Artist-Terms anhand der Spalte
artist_idmit den Track-Metadaten zu verknüpfen. Weisen den Ergebnistibblejoinedzu. - Nutze
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
# Anti join artist terms to track metadata by artist_id
joined <- ___
# How many rows and columns are in the joined table?
___