บันทึกข้อมูลที่ผ่านการทำความสะอาดลงไฟล์ Parquet
กลับมาที่ข้อมูลห้องสมุดซีแอตเทิลกัน ทีมงานมีข้อมูลการยืมที่ผ่านการทำความสะอาดแล้ว และต้องการบันทึกลงไฟล์ Parquet เพื่อใช้งานต่อ โดยไม่ต้องโหลดข้อมูลทั้งหมดเข้าหน่วยความจำก่อน ให้เขียน lazy query ลงดิสก์โดยตรง
clean_checkouts ถูกโหลดไว้ให้แล้ว พร้อมกับ path สำหรับส่งออกชื่อ CLEAN_EXPORT_PATH
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- เขียนข้อมูลจาก
clean_checkoutsไปยังCLEAN_EXPORT_PATHโดยตรงจาก lazy query - กำหนดขนาด row group เป็น 5,000
- ใช้ streaming engine
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Write clean_checkouts straight to disk
clean_checkouts.____(
CLEAN_EXPORT_PATH,
# 5,000 rows per row group
row_group_size=____,
# Streaming engine
engine="____",
)
# Confirm what landed in the Parquet file
result = pl.scan_parquet(CLEAN_EXPORT_PATH).select(
pl.len().alias("rows"),
pl.col("checkouts").sum().alias("total_checkouts"),
).collect()
print(result)