Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt de uitvoer door de opgegeven kolommen geclusterd. Records met vergelijkbare waarden in de clusterkolommen worden gegroepeerd in hetzelfde bestand. Clustering verbetert de efficiƫntie van query's door query's met predicaten in de clusterkolommen toe te staan onnodige gegevens over te slaan. In tegenstelling tot partitionering kan clustering worden gebruikt voor kolommen met hoge kardinaliteit.
Syntaxis
clusterBy(*cols)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
*cols |
str of list | Namen van de kolommen die moeten worden geclusterd op. |
Retouren
DataStreamWriter
Examples
df = spark.readStream.format("rate").load()
df.writeStream.clusterBy("value")
# <...streaming.readwriter.DataStreamWriter object ...>
Cluster a Rate source stream by timestamp and write to 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()