Inizia subitoInizia gratis

Anti join

Nel precedente esercizio, l'insieme di dati risultante dal join non era grande quanto ci si poteva aspettare, perché non tutti gli artisti avevano tag associati. Gli anti join sono davvero utili per individuare problemi in altri join.

Un anti join restituisce le righe della prima tabella per le quali non si trova alcuna corrispondenza nella seconda. Il principio è illustrato in questo diagramma.

An anti join, explained using table of colors.

Gli anti join sono un tipo di filtering join, perché restituiscono il contenuto della prima tabella, ma con le righe filtrate in base alle condizioni di corrispondenza.

La sintassi di un anti join è più o meno la stessa di un left join: basta sostituire left_join() con anti_join().

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

Questo esercizio fa parte del corso

Introduzione a Spark con sparklyr in R

Visualizza corso

Istruzioni dell'esercizio

È stata creata per te una connessione a Spark chiamata spark_conn. I tibble collegati ai metadati delle tracce e ai termini degli artisti archiviati in Spark sono stati predefiniti rispettivamente come track_metadata_tbl e artist_terms_tbl.

  • Usa un anti join per unire i termini degli artisti ai metadati delle tracce tramite la colonna artist_id. Assegna il risultato a joined.
  • Usa sdf_dim() per determinare quante righe e colonne ci sono nella tabella risultante.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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?
___
Modifica ed esegui il codice