Anti joins
No exercício anterior, o conjunto de dados resultante do join não ficou tão grande quanto você poderia esperar, já que nem todos os artistas tinham tags associadas. Anti joins são muito úteis para identificar problemas em outros joins.
Um anti join retorna as linhas da primeira tabela para as quais não encontra correspondência na segunda tabela. O princípio é mostrado neste diagrama.

Anti joins são um tipo de filtering join, pois retornam o conteúdo da primeira tabela, mas com as linhas filtradas conforme as condições de correspondência.
A sintaxe de um anti join é mais ou menos a mesma de um left join: simplesmente troque left_join() por anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Este exercício faz parte do curso
Introdução ao Spark com sparklyr em R
Instruções do exercício
Uma conexão Spark foi criada para você como spark_conn. Tibbles ligados aos metadados das faixas e aos termos dos artistas armazenados no Spark já foram definidos como track_metadata_tbl e artist_terms_tbl, respectivamente.
- Use um anti join para relacionar os termos dos artistas aos metadados das faixas pela coluna
artist_id. Atribua o resultado ajoined. - Use
sdf_dim()para descobrir quantas linhas e colunas existem na tabela resultante.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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?
___