การเขียนไฟล์ Parquet แบบ snapshot
แดชบอร์ดปลายทางต้องการไฟล์ Parquet ขนาดกะทัดรัดสำหรับข้อมูลกิจกรรม ebook ดิจิทัล ให้สร้างผลลัพธ์แบบ lazy แล้วเขียนออกพร้อมกำหนดค่า compression และ row group อย่างชัดเจน เพื่อปรับแต่งไฟล์ให้อ่านได้เร็วขึ้น
มี LazyFrame ชื่อ requests พร้อมใช้งานแล้ว และพาธสำหรับ export อยู่ใน PARQUET_EXPORT_PATH
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- เก็บเฉพาะ 500 แถวดิจิทัลแรกสำหรับ snapshot
- ตั้งค่า
compression_levelเป็น5เมื่อเขียนไฟล์ Parquet - ตั้งค่า
row_group_sizeเป็น250แถว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
result = (
requests
.filter(pl.col("use") == "Digital")
.select("date", "format", "checkouts", "title")
# Keep only the first 500 rows
.____(500)
.collect()
)
result.write_parquet(
PARQUET_EXPORT_PATH,
# Set compression level to 5
compression_level=____,
# Set 250 rows per row group
row_group_size=____,
)
print(pl.read_parquet_schema(PARQUET_EXPORT_PATH))