実行中のパイプラインを停止する

実行中の Cloud Dataflow ジョブを停止する必要がある場合は、Cloud Dataflow モニタリング インターフェースまたは Cloud Dataflow コマンドライン インターフェースを使用してコマンドを発行することで停止できます。ジョブを停止するために発行できるコマンドには、[キャンセル] と [ドレイン] の 2 つがあります。

Cloud Dataflow Monitoring UI を使用したジョブの停止

ジョブを停止するには、Cloud Dataflow Monitoring Interface のジョブリストからジョブを選択します。ジョブの情報カードで、[ジョブを停止] をクリックします。

図 1: [ジョブを停止] ボタンがある Cloud Dataflow ジョブの情報カード。

[ジョブの停止] ダイアログに、ジョブの停止方法に関するオプションが表示されます。

図 2: [キャンセル] と [ドレイン] のオプションがある [ジョブの停止] ダイアログ。

[キャンセル] または [ドレイン] オプションを適宜選択し、[ジョブを停止] ボタンをクリックします。

キャンセル

[キャンセル] オプションを使用してジョブを停止すると、Cloud Dataflow サービスにジョブを即時に中止するよう通知されます。このサービスは、すべてのデータの取り込みと処理をできるだけ早く停止し、ジョブに関連付けられた Google Cloud Platform(GCP)リソースのクリーンアップを直ちに開始します。これらのリソースには、Compute Engine ワーカー インスタンスのシャットダウンと、I/O ソースまたはシンクへのアクティブな接続の終了が含まれることがあります。

[キャンセル] は処理を即時に停止するため、「処理中」のデータは失われることがあります。「処理中」のデータとは、読み取られたがパイプラインによってまだ処理中のデータを指します。[キャンセル] コマンドを発行する前にパイプラインから出力シンクに書き込まれたデータは、出力シンクでまだアクセス可能な場合があります。

データ損失が問題にならない場合は、[キャンセル] オプションを使用してジョブを停止し、ジョブに関連する GCP リソースをできるだけ早くシャットダウンするようにします。

ドレイン

[ドレイン] オプションを使用してジョブを停止すると、現在の状態でジョブを終了するよう Cloud Dataflow サービスに通知されます。ジョブは入力ソースからの新規データの取り込みを即時に停止します。ただし、Cloud Dataflow サービスは既存のリソース(ワーカー インスタンスなど)を保持して、パイプラインのバッファ内のデータの処理と書き込みを終了します。保留中のすべての処理と書き込みオペレーションが完了すると、Cloud Dataflow サービスはジョブに関連付けられている GCP リソースをクリーンアップします。

パイプラインを停止するときにデータの消失を防ぐ場合は、[ドレイン] オプションを使用してジョブを停止する必要があります。

ジョブのドレインの影響

[ドレイン] コマンドを発行した場合、Cloud Dataflow は処理中のウィンドウを即時に終了し、すべてのトリガーを呼び出します。システムは、未処理の時間ベースのウィンドウの終了を待機しません。たとえば、[ドレイン] コマンドの発行時にパイプラインが 2 時間のウィンドウまで 10 分の場合、Cloud Dataflow はウィンドウが終了するまでの残り時間を待機しません。部分的な結果でウィンドウを即時に終了します。

パイプラインの変換の詳細ビューには、処理中の [ドレイン] コマンドの影響が表示されます。

図 3: ドレインが処理中の [ステップ] ビュー。ウォーターマークが最大値に進められていることに注意してください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。