メインコンテンツまでスキップ

ストリーミングクエリ

新しいデータが到着するたびにバックグラウンドで継続的に実行されるクエリへのハンドル。すべてのメソッドはスレッドセーフです。

構文

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

物件

属性

説明

id

チェックポイントデータから、再起動後も保持されるこのクエリの一意のIDを返します。

runId

再起動後も保持されない、このクエリの一意のIDを返します。

name

ユーザーが指定したクエリ名を返します。指定されていない場合はNone返します。

isActive

このストリーミングクエリが現在アクティブかどうかを返します。

status

クエリの現在のステータスを辞書として返します。

recentProgress

このクエリに対する最新の更新情報StreamingQueryProgressの配列を返します。

lastProgress

最新の更新がStreamingQueryProgressの場合は、更新がない場合はNoneを返します。

方法

手法

説明

awaitTermination(timeout)

stop()による終了、または例外による終了のいずれかを待ちます。

processAllAvailable()

ソース内の利用可能なすべてのデータが処理され、シンクにコミットされるまでブロックします。テスト目的のみに使用されます。

stop()

このストリーミングクエリを停止します。

explain(extended)

デバッグのために、(論理プランと物理プランの)実行計画をコンソールに出力します。

exception()

クエリが例外で終了した場合はStreamingQueryExceptionを返し、それ以外の場合はNoneを返します。

Python
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
このページの見出し