Inizia subitoInizia gratis

Left join

Oltre a manipolare singoli data frame, sparklyr ti permette di unire due data frame. Una trattazione completa di come unire tabelle usando la sintassi di dplyr è disponibile nel corso Joining Data with dplyr. Nel resto di questo capitolo, vedrai alcuni esempi di come farlo con Spark.

Un left join prende tutti i valori dalla prima tabella e cerca corrispondenze nella seconda. Se trova una corrispondenza, aggiunge i dati della seconda tabella; se non la trova, aggiunge valori mancanti. Il principio è illustrato in questo diagramma.

Un left join, spiegato usando una tabella di colori.

I left join sono un tipo di mutating join, perché aggiungono semplicemente colonne alla prima tabella. Per eseguire un left join con sparklyr, chiama left_join(), passando due tibble e un vettore di caratteri con le colonne su cui fare il join.

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

Quando descrivi questo join a parole, i nomi delle tabelle si invertono. Questo join si scriverebbe come: "another_tibble è left joinato a a_tibble".

Questo esercizio introduce un altro Spark DataFrame che contiene termini descrittivi per ciascun artista. Si va da termini piuttosto generali, come "pop", a generi più di nicchia come "swiss hip hop" e "mathgrindcore".

Questo esercizio fa parte del corso

Introduzione a Spark con sparklyr in R

Visualizza corso

Istruzioni dell'esercizio

È già stata creata per te una connessione 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 left join per unire i termini degli artisti ai metadati delle tracce tramite la colonna artist_id.
    • La tabella a cui si fa il join, track_metadata_tbl, viene per prima.
    • La tabella che si unisce alla prima, artist_terms_tbl, viene dopo.
    • Assegna il risultato a joined.
  • Usa sdf_dim() per determinare quante righe e colonne ci sono nella tabella risultante dal join.

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

# Left join artist terms to track metadata by artist_id
joined <- ___(___, ___, by = ___)

# How many rows and columns are in the joined table?
___
Modifica ed esegui il codice