← retour aux snippets

polars: lazy scan parquet

Lire en lazy, filtrer et sélectionner avant collect.

python bigdata #polars#lazy#parquet

objectif

Lire en lazy, filtrer et sélectionner avant collect.

code minimal

import polars as pl

lazy = pl.scan_parquet("data/*.parquet").filter(pl.col("id")>0).select(["id"])
print(hasattr(lazy, "collect"))

utilisation

import polars as pl

df = pl.DataFrame({"id":[1,2,3]})
print(df.with_columns((pl.col("id")*2).alias("id2")).shape)

variante(s) utile(s)

import polars as pl

print(pl.DataFrame({"g":["a","a","b"], "x":[1,2,3]}).groupby("g").agg(pl.col("x").mean()).shape)

notes

  • Le plan est optimisé (projection/filter pushdown).