Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gruppiert die Ausgabe der angegebenen Spalten. Datensätze mit ähnlichen Werten in den Clusterspalten werden in derselben Datei gruppiert. Das Clustering verbessert die Abfrageeffizienz, indem Abfragen mit Prädikaten für die Clusterspalten nicht benötigte Daten übersprungen werden können. Im Gegensatz zur Partitionierung können Clustering für Spalten mit hoher Kardinalität verwendet werden.
Syntax
clusterBy(*cols)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
*cols |
str oder list | Namen der Spalten, nach der gruppiert werden soll. |
Rückkehr
DataStreamWriter
Beispiele
df = spark.readStream.format("rate").load()
df.writeStream.clusterBy("value")
# <...streaming.readwriter.DataStreamWriter object ...>
Clustern eines Rate-Quelldatenstroms nach Zeitstempel und Schreiben in Parkett:
import tempfile
import time
with tempfile.TemporaryDirectory(prefix="clusterBy1") as d:
with tempfile.TemporaryDirectory(prefix="clusterBy2") as cp:
df = spark.readStream.format("rate").option("rowsPerSecond", 10).load()
q = df.writeStream.clusterBy(
"timestamp").format("parquet").option("checkpointLocation", cp).start(d)
time.sleep(5)
q.stop()
spark.read.schema(df.schema).parquet(d).show()