Anti joins
ในแบบฝึกหัดก่อนหน้า ชุดข้อมูลที่ได้จากการ join มีขนาดเล็กกว่าที่คาดไว้ เนื่องจากศิลปินบางรายไม่มีแท็กที่เชื่อมโยงอยู่ Anti join มีประโยชน์มากในการตรวจหาปัญหาที่เกิดขึ้นกับการ join ประเภทอื่น
An anti join จะคืนค่าแถวจากตารางแรกที่ไม่พบคู่ที่ตรงกันในตารางที่สอง หลักการแสดงไว้ในแผนภาพด้านล่าง

Anti join เป็น filtering join ประเภทหนึ่ง เนื่องจากจะคืนค่าเนื้อหาของตารางแรก แต่กรองแถวออกตามเงื่อนไขการจับคู่
ไวยากรณ์ของ anti join นั้นคล้ายกับ left join โดยเปลี่ยนจาก left_join() เป็น anti_join() เท่านั้น
anti_join(a_tibble, another_tibble, by = c("id_col1", "id_col2"))
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนะนำ Spark ด้วย sparklyr ใน R
คำแนะนำการฝึกหัด
ได้สร้าง Spark connection ไว้ให้แล้วในชื่อ spark_conn และกำหนด Tibble ที่เชื่อมต่อกับข้อมูล track metadata และ artist terms ใน Spark ไว้ล่วงหน้าเป็น track_metadata_tbl และ artist_terms_tbl ตามลำดับ
- ใช้ anti join เพื่อ join ข้อมูล artist terms เข้ากับ track metadata โดยใช้คอลัมน์
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?
___