การดึงข้อมูลกลับจาก Spark
ในแบบฝึกหัด 'Exploring the structure of tibbles' ที่ผ่านมาในบทที่ 1 คุณได้เห็นแล้วว่า tibble ไม่ได้เก็บสำเนาของข้อมูลไว้ แต่ข้อมูลจะคงอยู่ใน Spark และ tibble เพียงแค่เก็บรายละเอียดของสิ่งที่ต้องการดึงจาก Spark เท่านั้น
มีเหตุผลหลายประการที่อาจต้องการย้ายข้อมูลจาก Spark มายัง R คุณได้เห็นแล้วว่าข้อมูลบางส่วนจะถูกย้ายจาก Spark มายัง R โดยอัตโนมัติเมื่อพิมพ์ผลลัพธ์ นอกจากนี้ยังจำเป็นต้องดึงชุดข้อมูลมาด้วยหากต้องการสร้างกราฟ หรือต้องการใช้เทคนิคการสร้างโมเดลที่ไม่รองรับใน Spark (ท้ายที่สุด R มีตัวเลือกโมเดลที่หลากหลายที่สุดในบรรดาภาษาโปรแกรมทั้งหมด)
หากต้องการดึงข้อมูล กล่าวคือ ย้ายข้อมูลจาก Spark มายัง R ให้เรียกใช้ collect()
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนะนำ Spark ด้วย sparklyr ใน R
คำแนะนำการฝึกหัด
การเชื่อมต่อ Spark ถูกสร้างไว้ให้แล้วในชื่อ spark_conn และ tibble ที่เชื่อมต่อกับเมทาดาต้าของแทร็กที่จัดเก็บใน Spark ถูกกำหนดไว้ล่วงหน้าในชื่อ track_metadata_tbl
- กรองแถวของ
track_metadata_tblที่artist_familiarityมากกว่า 0.9 แล้วกำหนดผลลัพธ์ให้กับตัวแปรresults - พิมพ์คลาสของ
resultsโดยสังเกตว่าเป็นtbl_lazy(ใช้สำหรับข้อมูลระยะไกล) - ดึงผลลัพธ์มาโดยกำหนดให้กับตัวแปร
collected - พิมพ์คลาสของ
collectedโดยสังเกตว่าเป็นtbl_df(ใช้สำหรับข้อมูลในเครื่อง)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# track_metadata_tbl has been pre-defined
track_metadata_tbl
results <- track_metadata_tbl %>%
# Filter where artist familiarity is greater than 0.9
___
# Examine the class of the results
___
# Collect your results
collected <- results %>%
___
# Examine the class of the collected results
___