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.

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
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 aanjoined. - 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?
___