以批次處理查詢結果
團隊希望把數位結帳的資料列分批推送到下游系統,而不是收集成一個巨大的 DataFrame。請以每 5,000 列為一批進行迭代,並為每一批擷取一個簡短摘要。
已預先載入包含篩選後數位結帳資料的 LazyFrame digital_rows。
本練習屬於課程
使用 Polars 擴充與最佳化資料管線
練習說明
- 在串流引擎上,以每批 5,000 列的方式,對
digital_rows進行迭代。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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)