← retour aux snippets

PySpark SQL: lire Parquet et agréger

charger un dataset Parquet et faire des agrégations SQL

python spark #pyspark#sql#parquet

PySpark SQL: lire Parquet et agréger

objectif

Expliquer et montrer comment charger un dataset Parquet et faire des agrégations SQL.

code minimal

from pyspark.sql import SparkSession, functions as F
spark = SparkSession.builder.appName("demo").getOrCreate()
df = spark.read.parquet("s3a://bucket/data/2025-08-01/")
agg = df.groupBy("country").agg(F.count("*").alias("n"), F.avg("price").alias("avg_price"))
agg.orderBy(F.desc("n")).show(5, truncate=False)

utilisation

# requête SQL
df.createOrReplaceTempView("t")
spark.sql("SELECT country, COUNT(*) n FROM t GROUP BY country ORDER BY n DESC LIMIT 10").show()

variante(s) utile(s)

# lecture de colonnes projetées pour performance
df2 = spark.read.parquet("s3a://bucket/data/").select("country","price")

notes

  • Utilisez des colonnes projetées pour réduire l’I/O.
  • Configurer s3a credentials via spark.hadoop.* (ne jamais hardcoder).