Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Clusters la sortie par les colonnes données. Les enregistrements avec des valeurs similaires sur les colonnes de clustering sont regroupés dans le même fichier. Le clustering améliore l’efficacité des requêtes en permettant aux requêtes avec des prédicats sur les colonnes de clustering d’ignorer les données inutiles. Contrairement au partitionnement, le clustering peut être utilisé sur des colonnes à cardinalité élevée.
Syntaxe
clusterBy(*cols)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
*cols |
str ou list | Noms des colonnes à cluster par. |
Retours
DataStreamWriter
Exemples
df = spark.readStream.format("rate").load()
df.writeStream.clusterBy("value")
# <...streaming.readwriter.DataStreamWriter object ...>
Clusterez un flux source rate par horodatage et écrivez dans 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()