CommencezCommencez gratuitement

Traiter les résultats de requête par lots

L'équipe souhaite envoyer les lignes de passage à la caisse numérique vers un système en aval par blocs, plutôt que de récupérer un seul énorme DataFrame. Parcourez des lots de 5 000 lignes et captez un petit résumé pour chacun.

Un LazyFrame digital_rows contenant les passages à la caisse numériques filtrés est préchargé.

Cette activité fait partie du cours

Mise à l'échelle et optimisation des pipelines de données avec Polars

Voir le cours

Instructions de l’exercice

  • Parcourez digital_rows par lots de 5 000 lignes avec le moteur de diffusion en continu.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code