Freigeben über


StreamingQuery

Ein Handle für eine Abfrage, die kontinuierlich im Hintergrund ausgeführt wird, wenn neue Daten eingehen. Alle Methoden sind threadsicher.

Syntax

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

Eigenschaften

Eigentum Beschreibung
id Gibt die eindeutige ID dieser Abfrage zurück, die über Neustarts von Prüfpunktdaten hinweg beibehalten wird.
runId Gibt die eindeutige ID dieser Abfrage zurück, die nicht über Neustarts hinweg beibehalten wird.
name Gibt den vom Benutzer angegebenen Namen der Abfrage zurück oder None wenn nicht angegeben.
isActive Gibt zurück, ob diese Streamingabfrage derzeit aktiv ist.
status Gibt den aktuellen Status der Abfrage als Diktat zurück.
recentProgress Gibt ein Array der neuesten StreamingQueryProgress Updates für diese Abfrage zurück.
lastProgress Gibt das neueste StreamingQueryProgress Update zurück oder None wenn keine Updates vorhanden sind.

Methodik

Methode Beschreibung
awaitTermination(timeout) Wartet auf die Beendigung dieser Abfrage, entweder nach stop() oder nach einer Ausnahme.
processAllAvailable() Blockiert, bis alle verfügbaren Daten in der Quelle verarbeitet und an die Spüle gebunden wurden. Für Tests vorgesehen.
stop() Beendet diese Streamingabfrage.
explain(extended) Druckt die Pläne (logische und physische) für das Debuggen in der Konsole.
exception() Gibt den StreamingQueryException Wert zurück, wenn die Abfrage mit einer Ausnahme oder Noneeiner Ausnahme beendet wurde.

Beispiele

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