ストリーミングクエリリスナー
StreamingQueryに関連するイベントをリッスンするための抽象クラス。このクラスをサブクラス化し、その抽象メソッドを実装して、ストリーミングクエリのライフサイクルイベントコールバックを受け取るようにします。
構文
Python
from pyspark.sql.streaming import StreamingQueryListener
class MyListener(StreamingQueryListener):
def onQueryStarted(self, event):
pass
def onQueryProgress(self, event):
pass
def onQueryIdle(self, event):
pass
def onQueryTerminated(self, event):
pass
方法
手法 | 説明 |
|---|---|
クエリが開始されたときに呼び出されます。 | |
何らかのステータス更新(摂取速度の更新など)があった場合に呼び出されます。 | |
クエリがアイドル状態になり、新しいデータの処理を待っているときに呼び出されます。 | |
クエリがエラーの有無にかかわらず停止したときに呼び出されます。 |
注意
これらのメソッドは、異なるスレッドから呼び出される可能性があるため、スレッドセーフではありません。
Spark Connectモードでは、リスナーは外部で定義された変数にアクセスできません。Connectモードでリスナー内のセッションにアクセスするには、 sparkの代わりにself.spark使用してください。
例
Python
from pyspark.sql.streaming import StreamingQueryListener
class MyListener(StreamingQueryListener):
def onQueryStarted(self, event):
# Do something with event.
pass
def onQueryProgress(self, event):
# Do something with event.
pass
def onQueryIdle(self, event):
# Do something with event.
pass
def onQueryTerminated(self, event):
# Do something with event.
pass
spark.streams.addListener(MyListener())