Procesarea rezultatelor interogărilor în loturi
Echipa dorește să trimită rândurile cu plăți digitale către un sistem din aval în loturi, în loc să colecteze un singur DataFrame de dimensiuni mari. Iterează prin loturi de 5.000 de rânduri și reține un scurt rezumat al fiecăruia.
Un LazyFrame digital_rows cu plățile digitale filtrate este preîncărcat.
Acest exercițiu face parte din cursul
Scalarea și optimizarea pipeline-urilor de date cu Polars
Instrucțiuni pentru exercițiu
- Iterează prin
digital_rowsîn loturi de 5.000 de rânduri, folosind motorul de streaming.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)