Aller au contenu principal

Parquet (DataFrameReader)

Charge les fichiers Parquet et renvoie le résultat sous la forme d'un DataFrame.

Syntaxe

parquet(*paths, **options)

parameter

parameter

Type

Description

*paths

str

Un ou plusieurs chemins de fichier à partir desquels lire les fichiers Parquet.

parameter

Type

Description

*paths

str

Un ou plusieurs chemins de fichier à partir desquels lire les fichiers Parquet.

Renvoie

DataFrame

Exemples

Écrivez un DataFrame dans un fichier Parquet et relisez-le.

Python
import tempfile
df = spark.createDataFrame(
[(10, "Alice"), (15, "Bob"), (20, "Tom")], schema=["age", "name"])

with tempfile.TemporaryDirectory(prefix="parquet") as d:
df.write.mode("overwrite").format("parquet").save(d)
spark.read.parquet(d).orderBy("name").show()
# +---+-----+
# |age| name|
# +---+-----+
# | 10|Alice|
# | 15| Bob|
# | 20| Tom|
# +---+-----+

Lire plusieurs fichiers Parquet et merge les schémas.

Python
import tempfile
df = spark.createDataFrame(
[(10, "Alice"), (15, "Bob"), (20, "Tom")], schema=["age", "name"])
df2 = spark.createDataFrame([(70, "Alice"), (80, "Bob")], schema=["height", "name"])

with tempfile.TemporaryDirectory(prefix="parquet1") as d1:
with tempfile.TemporaryDirectory(prefix="parquet2") as d2:
df.write.mode("overwrite").format("parquet").save(d1)
df2.write.mode("overwrite").format("parquet").save(d2)

spark.read.option(
"mergeSchema", "true"
).parquet(d1, d2).select(
"name", "age", "height"
).orderBy("name", "age").show()
# +-----+----+------+
# | name| age|height|
# +-----+----+------+
# |Alice|NULL| 70|
# |Alice| 10| NULL|
# | Bob|NULL| 80|
# | Bob| 15| NULL|
# | Tom| 20| NULL|
# +-----+----+------+