การสแกนชุดข้อมูลแบบ hive-partitioned
ทีมงานยังจัดเก็บข้อมูล Parquet checkouts ที่ผ่านการทำความสะอาดแล้วในรูปแบบ hive-partitioned โดยแบ่งเป็นไดเรกทอรีตามปี (checkoutyear=2023/, checkoutyear=2024/) ให้สแกนชุดข้อมูล partitioned นี้ และกรองด้วยคอลัมน์ partition เพื่อให้ Polars อ่านเฉพาะปีที่ต้องการ
polars โหลดเป็น pl และไดเรกทอรีรากอยู่ในตัวแปร HIVE_DIR ไดเรกทอรีของ partition จะถูกแสดงไว้ให้แล้ว เพื่อให้เห็นโครงสร้างของข้อมูล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars
คำแนะนำการฝึกหัด
- สแกน
HIVE_DIRโดยใช้อาร์กิวเมนต์ที่เหมาะสมเพื่อเปิดใช้งาน hive partitioning - กรองผลลัพธ์เพื่อเลือกเฉพาะ checkouts ตั้งแต่ปี 2024 เป็นต้นไป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
requests = pl.scan_parquet(
HIVE_DIR,
# Enable hive partitioning
____=True,
)
result = (
requests
# Filter to the 2024 partition
.filter(pl.col("checkoutyear") >= ____)
.group_by("format")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
.collect()
)
print(result)