Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Grupperar utdata från de angivna kolumnerna. Poster med liknande värden i klustringskolumnerna grupperas tillsammans i samma fil. Klustring förbättrar frågeeffektiviteten genom att tillåta att frågor med predikat i klustringskolumnerna hoppar över onödiga data. Till skillnad från partitionering kan klustring användas på kolumner med hög kardinalitet.
Syntax
clusterBy(*cols)
Parameters
| Parameter | Type | Beskrivning |
|---|---|---|
*cols |
str eller lista | Namnen på de kolumner som ska klustras efter. |
Retur
DataStreamWriter
Exempel
df = spark.readStream.format("rate").load()
df.writeStream.clusterBy("value")
# <...streaming.readwriter.DataStreamWriter object ...>
Klustra en frekvenskällström efter tidsstämpel och skriv till Parquet:
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()