Anti join
이전 연습 문제에서 조인된 데이터셋이 예상보다 작았던 이유는 모든 아티스트에 태그가 연결되어 있지 않았기 때문이에요. Anti join은 다른 조인에서 발생하는 문제를 찾는 데 매우 유용합니다.
Anti join은 두 번째 테이블에서 일치 항목을 찾을 수 없는 첫 번째 테이블의 행을 반환합니다. 원리는 아래 도식으로 설명됩니다.

Anti join은 첫 번째 테이블의 내용을 반환하되, 일치 조건에 따라 행을 걸러 내기 때문에 일종의 필터링 조인에 해당합니다.
Anti join의 문법은 left join과 거의 동일합니다. anti_join()으로 left_join()을 바꿔 쓰면 됩니다.
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
이 연습은 강의의 일부입니다
R에서 sparklyr로 시작하는 Spark
연습 안내
spark_conn으로 Spark 연결이 생성되어 있습니다. Spark에 저장된 트랙 메타데이터와 아티스트 태그가 각각 track_metadata_tbl, artist_terms_tbl라는 tibble로 준비되어 있어요.
artist_id열을 기준으로 anti join을 사용해 아티스트 태그를 트랙 메타데이터와 조인하세요. 결과를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?
___