1. Learn
  2. /
  3. Courses
  4. /
  5. Wprowadzenie do Spark z pakietem sparklyr w R

Connected

Exercise

Semi join

Semi join to przeciwieństwo anti joina – można go nazwać „anti-anti joinem".

Semi join zwraca te wiersze z pierwszej tabeli, dla których można znaleźć dopasowanie w drugiej tabeli. Zasadę działania ilustruje poniższy diagram.

Semi join wyjaśniony na przykładzie tabeli kolorów.

Składnia jest taka sama jak w przypadku innych typów złączeń – wystarczy zastąpić inną funkcję złączenia przez semi_join():

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

Można zauważyć, że wyniki semi joina i anti joina razem dają oryginalną tabelę. Innymi słowy, niezależnie od zawartości tabel i sposobu ich łączenia, semi_join(A, B) oraz anti_join(A, B) razem zwrócą A (choć kolejność wierszy może być inna).

Instructions

100 XP

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

  • Użyj semi joina, aby złączyć terminy artystów z metadanymi utworów według kolumny artist_id. Wynik przypisz do zmiennej joined.
  • Użyj sdf_dim(), aby sprawdzić, ile wierszy i kolumn zawiera wynikowa tabela.