Procesar resultados de consultas por lotes
El equipo quiere enviar las filas de checkout digital a un sistema posterior en bloques, en lugar de recopilar un único DataFrame enorme. Recorre lotes de 5.000 filas y captura un pequeño resumen de cada uno.
Un LazyFrame digital_rows con los checkouts digitales filtrados está precargado.
Este ejercicio forma parte del curso
Escala y optimiza canalizaciones de datos con Polars
Instrucciones del ejercicio
- Recorre
digital_rowsen lotes de 5.000 filas usando el motor de streaming.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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)