บันทึก DataFrame ในรูปแบบ Parquet
เมื่อทำงานกับ Spark มักจะเริ่มต้นด้วยไฟล์ CSV, JSON หรือแหล่งข้อมูลรูปแบบอื่น ซึ่งให้ความยืดหยุ่นในการโหลดข้อมูลได้หลายประเภท แต่ก็ไม่ใช่รูปแบบที่เหมาะสมที่สุดสำหรับ Spark รูปแบบ Parquet เป็นการจัดเก็บข้อมูลแบบคอลัมน์ (columnar data store) ที่ช่วยให้ Spark ใช้งาน predicate pushdown ได้ หมายความว่า Spark จะประมวลผลเฉพาะข้อมูลที่จำเป็นสำหรับการดำเนินการที่กำหนด แทนที่จะอ่านชุดข้อมูลทั้งหมด วิธีนี้ช่วยให้ Spark เข้าถึงข้อมูลได้คล่องตัวขึ้น และมักช่วยเพิ่มประสิทธิภาพได้อย่างมากเมื่อทำงานกับชุดข้อมูลขนาดใหญ่
ในแบบฝึกหัดนี้ จะฝึกสร้างไฟล์ Parquet ใหม่ แล้วประมวลผลข้อมูลจากไฟล์นั้น
ออบเจกต์ spark รวมถึง DataFrame df1 และ df2 ได้ถูกเตรียมไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลด้วย PySpark
คำแนะนำการฝึกหัด
- ดูจำนวนแถวของ
df1และdf2 - รวม
df1และdf2เข้าด้วยกันเป็น DataFrame ใหม่ชื่อdf3โดยใช้เมธอดunion - บันทึก
df3เป็นไฟล์parquetชื่อAA_DFW_ALL.parquet - อ่านไฟล์
AA_DFW_ALL.parquetแล้วแสดงจำนวนแถว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# View the row count of df1 and df2
print("df1 Count: %d" % df1.____())
print("df2 Count: %d" % ____.____())
# Combine the DataFrames into one
df3 = df1.union(df2)
# Save the df3 DataFrame in Parquet format
df3.____.____('AA_DFW_ALL.parquet', mode='overwrite')
# Read the Parquet file into a new DataFrame and run a count
print(spark.read.____('AA_DFW_ALL.parquet').count())