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

คำถามคู่สำหรับอุ่นเครื่อง

เมธอด dplyr ที่ใช้ในสองบทที่ผ่านมาทำงานผ่าน SQL interface ของ Spark กล่าวคือ โค้ด R จะถูกแปลงเป็น SQL ก่อนที่จะส่งให้ Spark ประมวลผล วิธีนี้เหมาะมากสำหรับการจัดการข้อมูลพื้นฐาน แต่จะมีข้อจำกัดเมื่อต้องการประมวลผลที่ซับซ้อนมากขึ้น ตัวอย่างเช่น สามารถคำนวณค่าเฉลี่ยของคอลัมน์ได้ แต่ไม่สามารถคำนวณค่ามัธยฐานได้ ดังตัวอย่างจากแบบฝึกหัด 'Summarizing columns' ในบทที่ 1

track_metadata_tbl %>%
  summarize(mean_duration = mean(duration)) #OK
track_metadata_tbl %>%
  summarize(median_duration = median(duration))

sparklyr ยังมีอินเทอร์เฟซแบบ "native" อีก 2 แบบ ซึ่งจะกล่าวถึงในสองบทถัดไป คำว่า native หมายความว่าอินเทอร์เฟซเหล่านี้เรียกใช้โค้ด Java หรือ Scala เพื่อเข้าถึงไลบรารีของ Spark โดยตรง โดยไม่ต้องแปลงเป็น SQL sparklyr รองรับ Spark DataFrame Application Programming Interface (API) ผ่านฟังก์ชันที่มี prefix ว่า sdf_ นอกจากนี้ยังรองรับการเข้าถึงไลบรารี machine learning ของ Spark ที่ชื่อ MLlib ผ่านฟังก์ชัน "feature transformation" ที่ขึ้นต้นด้วย ft_ และฟังก์ชัน "machine learning" ที่ขึ้นต้นด้วย ml_

ความแตกต่างสำคัญอีกประการระหว่างการทำงานกับ R และ Spark คือ Spark เข้มงวดกับประเภทของตัวแปรมากกว่า R มาก ฟังก์ชัน native ส่วนใหญ่ต้องการอินพุตที่เป็น DoubleType และคืนค่าผลลัพธ์เป็น DoubleType เช่นกัน DoubleType คือสิ่งที่ Spark ใช้แทน vector ประเภท numeric ใน R sparklyr จะจัดการแปลง numeric เป็น DoubleType ให้อัตโนมัติ แต่การแปลงข้อมูลประเภท logical หรือ integer เป็น numeric และแปลงกลับนั้นเป็นหน้าที่ของผู้ใช้ (นั่นก็คือคุณ!)

ข้อความใดต่อไปนี้ถูกต้อง?

  1. เมธอด dplyr ของ sparklyr แปลงโค้ดเป็น Scala ก่อนรันบน Spark
  2. การแปลงโค้ด R เป็น SQL ทำให้การคำนวณที่รองรับมีจำนวนจำกัด
  3. ฟังก์ชัน modeling ส่วนใหญ่ใน Spark MLlib ต้องการอินพุตเป็น DoubleType และคืนค่าผลลัพธ์เป็น DoubleType
  4. ฟังก์ชัน modeling ส่วนใหญ่ใน Spark MLlib ต้องการอินพุตเป็น IntegerType และคืนค่าผลลัพธ์เป็น BooleanType

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

แนะนำ Spark ด้วย sparklyr ใน R

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง

เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา

เริ่มแบบฝึกหัด