DataStreamWriter

Interface usada para escrever um DataFrame em streaming para sistemas de armazenamento externos (por exemplo, sistemas de ficheiros e armazenamentos-chave-valor). Uso df.writeStream para aceder a isto.

Sintaxe

# Access through DataFrame
df.writeStream

Methods

Método Descrição
outputMode(outputMode) Especifica como os dados de um DataFrame em streaming são escritos para o sink. As opções são append, completee update.
format(source) Especifica o formato da fonte de dados de saída.
option(key, value) Adiciona uma opção de saída para a fonte de dados subjacente.
options(**options) Adiciona múltiplas opções de saída para a fonte de dados subjacente.
partitionBy(*cols) Particiona a saída pelas colunas dadas no sistema de ficheiros.
clusterBy(*cols) Agrupa a saída pelas colunas dadas.
queryName(queryName) Especifica o nome da consulta de streaming.
trigger(**kwargs) Define o gatilho para a execução da consulta de streaming.
foreach(f) Define a saída da consulta de streaming para ser processada pela função ou objeto dado.
foreachBatch(func) Define a saída de cada microlote para ser processada pela função dada.
start(path) Inicia a execução da consulta de streaming e devolve um StreamingQuery objeto.
table(tableName) Alias para toTable(). Escreve dados na tabela especificada e devolve um StreamingQuery objeto.
toTable(tableName) Inicia a execução da consulta de streaming, enviando continuamente resultados para a tabela indicada.

Exemplos

Carrega um fluxo de velocidade, aplica uma transformação, escreve na consola e pára após 3 segundos.

import time
df = spark.readStream.format("rate").load()
df = df.selectExpr("value % 3 as v")
q = df.writeStream.format("console").start()
time.sleep(3)
q.stop()