LoslegenKostenlos loslegen

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.

An anti join, explained using table of colors.

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

Kurs anzeigen

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_id mit den Track-Metadaten zu verknüpfen. Weisen den Ergebnistibble joined zu.
  • 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?
___
Code bearbeiten und ausführen