Anti joins
I den föregående övningen var den sammanfogade datamängden inte lika stor som du kanske förväntade dig, eftersom inte alla artister hade taggar kopplade till sig. Anti joins är mycket användbara för att hitta problem med andra joins.
En anti join returnerar raderna från den första tabellen där ingen matchning hittas i den andra tabellen. Principen illustreras i diagrammet nedan.

Anti joins är en typ av filtrerande join, eftersom de returnerar innehållet i den första tabellen men med raderna filtrerade utifrån matchningsvillkoren.
Syntaxen för en anti join liknar i stort sett den för en left join: byt helt enkelt ut left_join() mot anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Den här övningen är en del av kursen
Introduktion till Spark med sparklyr i R
Övningsinstruktioner
En Spark-anslutning har skapats åt dig som spark_conn. Tibbles kopplade till spårmetadata och artisttermer lagrade i Spark är fördefinierade som track_metadata_tbl respektive artist_terms_tbl.
- Använd en anti join för att sammanfoga artisttermerna med spårmetadata via kolumnen
artist_id. Tilldela resultatet tilljoined. - Använd
sdf_dim()för att ta reda på hur många rader och kolumner den sammanfogade tabellen innehåller.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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?
___