Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Agrupa a saída pelas colunas dadas. Registos com valores semelhantes nas colunas de agrupamento são agrupados no mesmo ficheiro. A clusterização melhora a eficiência das consultas ao permitir que consultas com predicados nas colunas de agrupamento saltem dados desnecessários. Ao contrário da particionação, o agrupamento pode ser usado em colunas de alta cardinalidade.
Sintaxe
clusterBy(*cols)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
*cols |
str ou lista | Nomes das colunas a agrupar. |
Devoluções
DataStreamWriter
Exemplos
df = spark.readStream.format("rate").load()
df.writeStream.clusterBy("value")
# <...streaming.readwriter.DataStreamWriter object ...>
Agrupe um fluxo fonte de taxa por carimbo temporal e escreva no 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()