Začněte nyníZačněte zdarma

Semi join

Semi join je opakem anti joinu – dá se říct, že jde o „anti-anti join".

Semi join vrátí ty řádky z první tabulky, pro které lze najít shodu ve druhé tabulce. Princip znázorňuje následující diagram.

Semi join vysvětlený pomocí tabulky barev.

Syntax je stejná jako u ostatních typů joinů – stačí nahradit příslušnou join funkci za semi_join():

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

Možná sis všiml/a, že výsledky semi joinu a anti joinu dohromady tvoří původní tabulku. Platí tedy, že bez ohledu na obsah tabulek nebo způsob jejich spojení vrátí semi_join(A, B) plus anti_join(A, B) tabulku A (i když pořadí řádků se může lišit).

Toto cvičení je součástí kurzu

Úvod do Sparku se sparklyr v R

Zobrazit kurz

Pokyny k cvičení

Spark připojení je pro tebe připraveno jako spark_conn. Tibble připojené k metadatům skladeb a termínům interpretů uloženým ve Sparku jsou předdefinovány jako track_metadata_tbl a artist_terms_tbl.

  • Pomocí semi joinu spoj termíny interpretů s metadaty skladeb podle sloupce artist_id. Výsledek ulož do proměnné joined.
  • Pomocí sdf_dim() zjisti, kolik řádků a sloupců spojená tabulka obsahuje.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# track_metadata_tbl and artist_terms_tbl have been pre-defined
track_metadata_tbl
artist_terms_tbl

# Semi join artist terms to track metadata by artist_id
joined <- ___

# How many rows and columns are in the joined table?
___
Upravit a spustit kód