สรุปข้อมูลจาก Parquet
รายงานแรกที่ใช้ Parquet คือสรุปการยืม-คืนแบบดิจิทัล ซึ่งทีมได้สร้างไว้ในบทที่ 1 แต่คราวนี้เริ่มต้นจากคิวรี scan_parquet แทน ให้สร้าง pipeline แบบ lazy เดิมเพื่อให้ทีมนำรูปแบบนี้ไปใช้ซ้ำกับไฟล์เก็บถาวรอื่นๆ ได้
ตัวแปร LazyFrame ชื่อ requests ถูกสร้างจากไฟล์ Parquet ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- กรอง
requestsให้เหลือเฉพาะแถวที่คอลัมน์useมีค่าเป็น"Digital" - จัดกลุ่มแถวที่กรองแล้วตามคอลัมน์
format - เรียกใช้คำสั่งเพื่อประมวลผลที่ปลายสุดของ pipeline
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
result = (
requests
# Filter to digital
.filter(pl.col("use") == "____")
# Group by format
.group_by("____")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
# Trigger execution at the end
.____()
)
print(result)