トリガー(DataStreamWriter)
ストリーミングクエリのトリガーを設定します。設定されていない場合、クエリは可能な限り高速に実行され、 processingTime='0 seconds'と同等になります。一度に設定できるトリガーは 1 つだけです。
Structured Streaming のTrigger間隔の設定を参照してください。
コンピュートとパイプラインの実行
LakeFlow Pipelinesでは、パイプラインはストリームの実行を管理します。パイプラインデータの処理タイミングを制御するには、パイプライン実行設定を使用してください。
ノートブックとジョブのServerlessコンピュートで DataStreamWriter を直接使用する場合は、 availableNow=True を使用してください。そのコンピュートでは、defaultのトリガー processingTime、 continuous、 realTimeはサポートされていません。これらの制限は、Serverless パイプラインの実行モードには適用されません。ストリーミングの制限事項を参照してください。
構文
trigger(*, processingTime=None, once=None, continuous=None, availableNow=None, realTime=None)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| 文字列、オプション | 処理時間間隔文字列(例: |
| ブール値、オプション |
|
| 文字列、オプション | Databricksではサポートされていません。このパラメーターは、連続パイプラインモードとは異なる Apache Spark の実験的な連続処理モードを有効にします。低遅延のStructured Streaming クエリーにはリアルタイムモードを使用します。 |
| ブール値、オプション |
|
| 文字列、オプション | バッチの期間を表す文字列。例: |
戻り値
DataStreamWriter
例
df = spark.readStream.format("rate").load()
5秒ごとに実行をトリガーする:
df.writeStream.trigger(processingTime='5 seconds')
# <...streaming.readwriter.DataStreamWriter object ...>
利用可能なすべてのデータを複数のバッチで処理する:
df.writeStream.trigger(availableNow=True)
# <...streaming.readwriter.DataStreamWriter object ...>
5分間のバッチでリアルタイムモードを構成します。各バッチの実行中に、レコードは到着次第処理されます。サポートされているソース、シンク、コンピュートタイプを使用します:
kafka_df = (spark.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "<bootstrap-servers>")
.option("subscribe", "<input-topic>")
.load())
kafka_df.writeStream.trigger(realTime="5 minutes")
# <...streaming.readwriter.DataStreamWriter object ...>