Condividi tramite


StreamingQuery

Handle per una query che viene eseguita in modo continuo in background man mano che arrivano nuovi dati. Tutti i metodi sono thread-safe.

Sintassi

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

Proprietà

Proprietà Descrizione
id Restituisce l'ID univoco di questa query che persiste tra i riavvii dai dati del checkpoint.
runId Restituisce l'ID univoco di questa query che non persiste tra i riavvii.
name Restituisce il nome specificato dall'utente della query o None , se non specificato.
isActive Restituisce un valore che indica se la query di streaming è attualmente attiva.
status Restituisce lo stato corrente della query come elemento dict.
recentProgress Restituisce una matrice degli aggiornamenti più recenti StreamingQueryProgress per questa query.
lastProgress Restituisce l'aggiornamento più recente StreamingQueryProgress o None se non sono stati apportati aggiornamenti.

Methods

metodo Descrizione
awaitTermination(timeout) Attende la chiusura della query, da stop() o da un'eccezione.
processAllAvailable() Blocca fino a quando non vengono elaborati tutti i dati disponibili nell'origine ed è stato eseguito il commit nel sink. Destinato ai test.
stop() Arresta questa query di streaming.
explain(extended) Stampa i piani (logici e fisici) nella console per il debug.
exception() Restituisce se StreamingQueryException la query terminata con un'eccezione o None.

Examples

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