parquet (DataFrameReader)

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

Syntaxe

parquet(*paths, **options)

Paramètres

Paramètre Type Description
*paths str Un ou plusieurs chemins d’accès de fichier à partir duquel lire les fichiers Parquet.

Retours

DataFrame

Exemples

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

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|
    # +---+-----+

Lit plusieurs fichiers Parquet et schémas de fusion.

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|
        # +-----+----+------+