สำรวจชนิดข้อมูลใน Spark
ในบทที่ 1 เราได้ใช้ src_tbls() เพื่อแสดงรายการ DataFrame บน Spark ที่ sparklyr มองเห็น และใช้ glimpse() เพื่อสำรวจคอลัมน์ของ tibble ในฝั่ง R
sparklyr มีฟังก์ชันชื่อ sdf_schema() สำหรับสำรวจคอลัมน์ของ tibble ในฝั่ง R เรียกใช้งานได้ง่าย แต่การจัดการค่าที่ได้กลับมาอาจต้องใช้ความพยายามเล็กน้อย
sdf_schema(a_tibble)
ค่าที่ได้กลับมาเป็น list และแต่ละ element เป็น list ที่มีสอง element ประกอบด้วยชื่อและชนิดข้อมูลของแต่ละคอลัมน์ แบบฝึกหัดนี้แสดงการแปลงข้อมูลเพื่อให้ดูชนิดข้อมูลได้ง่ายขึ้น
ตารางด้านล่างแสดงการเปรียบเทียบว่าชนิดข้อมูลใน R แมปกับชนิดข้อมูลใน Spark อย่างไร ชนิดข้อมูลอื่นนอกเหนือจากนี้ยังไม่รองรับใน sparklyr
| ชนิดใน R | ชนิดใน Spark |
|---|---|
| logical | BooleanType |
| numeric | DoubleType |
| integer | IntegerType |
| character | StringType |
| list | ArrayType |
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนะนำ Spark ด้วย sparklyr ใน R
คำแนะนำการฝึกหัด
มีการสร้าง Spark connection ไว้ให้แล้วในชื่อ spark_conn และ tibble ที่เชื่อมต่อกับ track metadata ที่เก็บอยู่ใน Spark ได้ถูกกำหนดไว้ล่วงหน้าในชื่อ track_metadata_tbl
- เรียกใช้
sdf_schema()เพื่อดึง schema ของ track metadata - รันโค้ดการแปลงข้อมูลบน
schemaเพื่อแสดงผลในรูปแบบ tibble ที่อ่านได้ง่ายขึ้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# track_metadata_tbl has been pre-defined
track_metadata_tbl
# Get the schema
(schema <- ___(___))
# Transform the schema
schema %>%
lapply(function(x) do.call(data_frame, x)) %>%
bind_rows()