НачатьНачать бесплатно

Полусоединения

Полусоединения — это противоположность антисоединений: можно сказать, это «анти-антисоединение».

Полусоединение возвращает те строки первой таблицы, для которых удалось найти совпадение во второй таблице. Принцип показан на схеме ниже.

A semi join, explained using table of colors.

Синтаксис такой же, как и для других типов соединений: просто замените функцию соединения на semi_join().

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

Вы могли заметить, что результаты полусоединения в сочетании с результатами антисоединения дают исходную таблицу. Таким образом, независимо от содержимого таблиц и способа их соединения, semi_join(A, B) вместе с anti_join(A, B) вернут A (хотя порядок строк может отличаться).

Это упражнение является частью курса

Введение в Spark с sparklyr на R

Посмотреть курс

Инструкции к упражнению

Подключение к Spark уже создано и доступно как spark_conn. Тибблы, привязанные к метаданным треков и терминам исполнителей, хранящимся в Spark, предопределены как track_metadata_tbl и artist_terms_tbl соответственно.

  • Используя полусоединение, объедините термины исполнителей с метаданными треков по столбцу artist_id. Сохраните результат в переменную joined.
  • С помощью sdf_dim() определите количество строк и столбцов в полученной таблице.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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?
___
Редактировать и запускать код