Anti join
Trong bài trước, bộ dữ liệu sau khi join không lớn như bạn kỳ vọng, vì không phải nghệ sĩ nào cũng có tag đi kèm. Anti join rất hữu ích để tìm ra vấn đề trong các phép join khác.
Anti join trả về các hàng của bảng thứ nhất khi không tìm thấy bản ghi khớp trong bảng thứ hai. Nguyên tắc được minh họa trong sơ đồ sau.

Anti join là một dạng filtering join, vì nó trả về nội dung của bảng thứ nhất nhưng đã được lọc hàng dựa trên điều kiện khớp.
Cú pháp của anti join gần như giống với left join: chỉ cần thay left_join() bằng anti_join().
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
Bài tập này là một phần của khóa học
Nhập môn Spark với sparklyr trong R
Hướng dẫn bài tập
Kết nối Spark đã được tạo sẵn là spark_conn. Các tibble gắn với track metadata và artist terms được lưu trong Spark đã được định nghĩa trước lần lượt là track_metadata_tbl và artist_terms_tbl.
- Dùng anti join để join artist terms vào track metadata theo cột
artist_id. Gán kết quả vàojoined. - Dùng
sdf_dim()để xác định có bao nhiêu hàng và cột trong bảng đã join.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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?
___