Freigeben über


partitionBy (DataStreamWriter)

Partitioniert die Ausgabe durch die angegebenen Spalten im Dateisystem. Die Ausgabe ist ähnlich dem Partitionierungsschema von Hive angeordnet.

Syntax

partitionBy(*cols)

Parameter

Parameter Typ Beschreibung
*cols str oder list Namen der Spalten, nach der partitioniert werden soll.

Rückkehr

DataStreamWriter

Beispiele

df = spark.readStream.format("rate").load()
df.writeStream.partitionBy("value")
# <...streaming.readwriter.DataStreamWriter object ...>

Partitionieren Sie einen Rate-Quelldatenstrom nach Zeitstempel und schreiben Sie in Parkett:

import tempfile
import time
with tempfile.TemporaryDirectory(prefix="partitionBy1") as d:
    with tempfile.TemporaryDirectory(prefix="partitionBy2") as cp:
        df = spark.readStream.format("rate").option("rowsPerSecond", 10).load()
        q = df.writeStream.partitionBy(
            "timestamp").format("parquet").option("checkpointLocation", cp).start(d)
        time.sleep(5)
        q.stop()
        spark.read.schema(df.schema).parquet(d).show()