StreamingQuery

Um handle para uma consulta que está a ser executada continuamente em segundo plano à medida que novos dados chegam. Todos os métodos são à prova de rosca.

Sintaxe

# Returned by DataStreamWriter.start() or DataStreamWriter.toTable()
q = df.writeStream.format("console").start()

Propriedades

Propriedade Descrição
id Devolve o ID único desta consulta que persiste em reinicios a partir dos dados do ponto de controlo.
runId Devolve o ID único desta consulta que não persiste em reinícios.
name Devolve o nome especificado pelo utilizador da consulta, ou None se não for especificado.
isActive Devolve se esta consulta de streaming está atualmente ativa.
status Devolve o estado atual da consulta como um dit.
recentProgress Devolve um conjunto das atualizações mais recentes StreamingQueryProgress para esta consulta.
lastProgress Devolve a atualização mais StreamingQueryProgress recente, ou None se não houver atualizações.

Methods

Método Descrição
awaitTermination(timeout) Aguarda a terminação desta consulta, seja por stop() ou por exceção.
processAllAvailable() Blocos até que todos os dados disponíveis na fonte tenham sido processados e comprometidos no sumidouro. Destinado a testes.
stop() Para esta consulta de streaming.
explain(extended) Imprime os planos (lógicos e físicos) na consola para depuração.
exception() Devolve o StreamingQueryException se a consulta terminou com uma exceção, ou None.

Exemplos

sdf = spark.readStream.format("rate").load()
sq = sdf.writeStream.format('memory').queryName('this_query').start()
sq.isActive
# True
sq.name
# 'this_query'
sq.awaitTermination(5)
# False
sq.stop()
sq.isActive
# False