Semi join'ler
Semi join'ler, anti join'lerin tersidir: istersen bir nevi "anti-anti join".
Bir semi join, ikinci tabloda eşleşme BULABİLDİĞİ durumlarda, birinci tablonun satırlarını döndürür. İlke, bu diyagramda gösterilmiştir.

Sözdizimi diğer join türleriyle aynıdır; sadece diğer join fonksiyonu yerine semi_join() kullanırsın.
semi_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Şunu fark etmiş olabilirsin: Bir semi join sonucu ile bir anti join sonucunu topladığında, orijinal tabloyu elde edersin. Yani, tablo içeriği veya nasıl birleştirdiğin fark etmeksizin, semi_join(A, B) artı anti_join(A, B) sana A'yı döndürür (satırların sırası farklı olabilir).
Bu egzersiz, kursun bir parçasıdır
R ile sparklyr kullanarak Spark’a Giriş
Egzersiz talimatları
spark_conn olarak bir Spark bağlantısı senin için oluşturuldu. Spark'ta saklanan parça (track) meta verileri ve sanatçı terimlerine bağlı tibble'lar sırasıyla track_metadata_tbl ve artist_terms_tbl olarak önceden tanımlandı.
artist_idsütununa göre sanatçı terimlerini parça meta verileriyle birleştirmek için bir semi join kullan. Sonucujoinedolarak ata.- Birleşen tablonun kaç satır ve sütundan oluştuğunu belirlemek için
sdf_dim()kullan.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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?
___