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.
Inicia a execução da consulta de streaming, enviando continuamente resultados para a tabela dada à medida que novos dados chegam. Devolve um objeto StreamingQuery.
Sintaxe
toTable(tableName, format=None, outputMode=None, partitionBy=None, queryName=None, **options)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
tableName |
str | Nome da tabela. |
format |
STR, opcional | O formato usado para guardar. |
outputMode |
STR, opcional | Como os dados são escritos no sumidouro: append, complete, ou update. |
partitionBy |
STR ou lista, opcional | Nomes das colunas de partição. Ignorado para as tabelas v2 que já existem. |
queryName |
STR, opcional | Nome único para a consulta. |
**options |
Todas as outras opções de cordas. Fornece um checkpointLocation para a maioria dos streams. |
Devoluções
StreamingQuery
Notes
Para tabelas v1, partitionBy as colunas são sempre respeitadas. Para tabelas v2, partitionBy só é respeitado se a tabela ainda não existir.
Exemplos
Guardar um fluxo de dados numa tabela:
import tempfile
import time
_ = spark.sql("DROP TABLE IF EXISTS my_table2")
with tempfile.TemporaryDirectory(prefix="toTable") as d:
q = spark.readStream.format("rate").option(
"rowsPerSecond", 10).load().writeStream.toTable(
"my_table2",
queryName='that_query',
outputMode="append",
format='parquet',
checkpointLocation=d)
time.sleep(3)
q.stop()
spark.read.table("my_table2").show()
_ = spark.sql("DROP TABLE my_table2")