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

Анти-соединения

В предыдущем упражнении объединённый набор данных оказался меньше, чем можно было ожидать: не у всех исполнителей были связанные теги. Анти-соединения очень удобны для выявления подобных проблем.

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

Анти-соединение, проиллюстрированное с помощью таблицы цветов.

Анти-соединения относятся к категории фильтрующих соединений: они возвращают содержимое первой таблицы, но отфильтровывают строки в зависимости от условий совпадения.

Синтаксис анти-соединения практически такой же, как у левого соединения: достаточно заменить left_join() на anti_join().

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

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

Введение в 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

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

# How many rows and columns are in the joined table?
___
Редактировать и запускать код