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

Анти-соединения относятся к категории фильтрующих соединений: они возвращают содержимое первой таблицы, но отфильтровывают строки в зависимости от условий совпадения.
Синтаксис анти-соединения практически такой же, как у левого соединения: достаточно заменить 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?
___