Queryresultaten in batches verwerken
Het team wil digitale checkout-rijen in stukken naar een downstream-systeem sturen in plaats van één enorme DataFrame te verzamelen. Loop door batches van 5.000 rijen en leg van elke batch een korte samenvatting vast.
Een LazyFrame digital_rows met de gefilterde digitale checkouts is al ingeladen.
Deze oefening maakt deel uit van de cursus
Data-pipelines schalen en optimaliseren met Polars
Oefeninstructies
- Itereer door
digital_rowsin batches van 5.000 rijen op de streaming-engine.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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)