ComeçarComece de graça

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.

An anti join, explained using table of colors.

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

Ver curso

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 a joined.
  • 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?
___
Editar e executar o código