1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do Spark z pakietem sparklyr w R

Connected

ćwiczenie

Złączenia lewostronne

sparklyr nie tylko umożliwia przekształcanie pojedynczych ramek danych, ale pozwala też łączyć dwie ramki danych ze sobą. Szczegółowe omówienie łączenia tabel za pomocą składni dplyr znajdziesz w kursie Joining Data with dplyr. W pozostałej części tego rozdziału zobaczysz kilka przykładów, jak robić to w Sparku.

Złączenie lewostronne (left join) pobiera wszystkie wartości z pierwszej tabeli i szuka dopasowań w drugiej tabeli. Gdy znajdzie dopasowanie, dodaje dane z drugiej tabeli; gdy nie znajdzie – wstawia brakujące wartości. Zasadę działania ilustruje poniższy diagram.

Złączenie lewostronne zilustrowane na tabeli kolorów.

Złączenia lewostronne należą do kategorii złączeń mutujących (mutating joins), ponieważ po prostu dodają kolumny do pierwszej tabeli. Aby wykonać złączenie lewostronne w sparklyr, wywołaj left_join(), przekazując dwa tibble'e oraz wektor znakowy kolumn, po których ma nastąpić złączenie.

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

Opisując to złączenie słowami, nazwy tabel podaje się w odwrotnej kolejności. Powyższe złączenie opisujemy jako: „another_tibble jest złączony lewostronnie do a_tibble".

To ćwiczenie wprowadza kolejną ramkę danych Sparka zawierającą terminy opisujące poszczególnych artystów. Obejmują one zarówno ogólne etykiety, jak „pop", jak i bardziej niszowe gatunki, takie jak „swiss hip hop" czy „mathgrindcore".

Instrukcje

100 XP

Połączenie ze Sparkiem zostało już utworzone jako spark_conn. Tibble'e powiązane z metadanymi utworów i terminami artystów przechowywanymi w Sparku zostały wstępnie zdefiniowane jako track_metadata_tbl i artist_terms_tbl.

  • Użyj złączenia lewostronnego, aby połączyć terminy artystów z metadanymi utworów po kolumnie artist_id.
    • Tabela, do której dołączamy, track_metadata_tbl, jest pierwszym argumentem.
    • Tabela dołączana, artist_terms_tbl, jest kolejnym argumentem.
    • Przypisz wynik do zmiennej joined.
  • Użyj sdf_dim(), aby sprawdzić, ile wierszy i kolumn zawiera połączona tabela.