เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Anti joins

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

An anti join จะคืนค่าแถวจากตารางแรกที่ไม่พบคู่ที่ตรงกันในตารางที่สอง หลักการแสดงไว้ในแผนภาพด้านล่าง

An anti join, explained using table of colors.

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?
___
แก้ไขและรันโค้ด