Aan de slagBegin gratis

Anti-joins

In de vorige oefening was de samengevoegde gegevensset niet zo groot als je misschien had verwacht, omdat niet alle artiesten tags hadden. Anti-joins zijn erg handig om problemen met andere joins op te sporen.

Een anti-join geeft de rijen van de eerste tabel terug waarvoor geen overeenkomst in de tweede tabel wordt gevonden. Het principe wordt geïllustreerd in dit diagram.

An anti join, explained using table of colors.

Anti-joins zijn een soort filtering join, omdat ze de inhoud van de eerste tabel teruggeven, maar met de rijen gefilterd op basis van de matchvoorwaarden.

De syntaxis voor een anti-join is vrijwel hetzelfde als voor een left join: vervang gewoon left_join() door anti_join().

anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))

Deze oefening maakt deel uit van de cursus

Introductie tot Spark met sparklyr in R

Bekijk cursus

Oefeninstructies

Er is een Spark-verbinding voor je aangemaakt als spark_conn. Tibbles die gekoppeld zijn aan de trackmetadata en artiesttermen die in Spark zijn opgeslagen, zijn respectievelijk vooraf gedefinieerd als track_metadata_tbl en artist_terms_tbl.

  • Gebruik een anti-join om de artiesttermen te joinen met de trackmetadata op de kolom artist_id. Ken het resultaat toe aan joined.
  • Gebruik sdf_dim() om te bepalen hoeveel rijen en kolommen er in de samengevoegde tabel staan.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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 bewerken en uitvoeren