เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การประมวลผลผลลัพธ์ของคิวรีแบบแบตช์

ทีมต้องการส่งข้อมูลแถว digital checkout ไปยังระบบปลายทางทีละส่วน แทนที่จะรวบรวมเป็น DataFrame ขนาดใหญ่ก้อนเดียว ให้วนลูปผ่านแบตช์ขนาด 5,000 แถว แล้วบันทึกข้อมูลสรุปของแต่ละแบตช์ไว้

มี LazyFrame ชื่อ digital_rows ที่กรองเฉพาะ digital checkouts โหลดไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การปรับขนาดและเพิ่มประสิทธิภาพ Data Pipeline ด้วย Polars

ดูคอร์ส

คำแนะนำการฝึกหัด

  • วนลูปผ่าน digital_rows ทีละ 5,000 แถวโดยใช้ streaming engine

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

batch_summaries = []

# Stream digital_rows in chunks of 5,000
for batch_no, batch in enumerate(
    digital_rows.____(chunk_size=____, engine="streaming"),
    start=1,
):
    batch_summaries.append(
        {
            "batch": batch_no,
            "rows": batch.height,
            "checkouts": batch["checkouts"].sum(),
        }
    )

result = pl.DataFrame(batch_summaries)
print(result)
แก้ไขและรันโค้ด