Compartilhar via


toTable (DataStreamWriter)

Inicia a execução da consulta de streaming, gerando continuamente os resultados para a tabela fornecida à medida que novos dados chegam. Retorna 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 salvar.
outputMode str, opcional Como os dados são gravados no coletor: append, completeou update.
partitionBy str ou list, opcional Nomes de colunas de particionamento. Ignorado para tabelas v2 que já existem.
queryName str, opcional Nome exclusivo para a consulta.
**options
Todas as outras opções de cadeia de caracteres. Forneça um checkpointLocation para a maioria dos fluxos.

Devoluções

StreamingQuery

Observações

Para tabelas v1, partitionBy as colunas são sempre respeitadas. Para tabelas v2, partitionBy só será respeitada se a tabela ainda não existir.

Exemplos

Salve um fluxo de dados em uma 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")