実行の詳細

Dataflow では、ウェブベース モニタリング ユーザー インターフェースで [実行の詳細] タブを表示します。このツールは、ジョブのパフォーマンスを最適化し、ジョブの動作の遅延や停止の理由を診断するのに役立ちます。このドキュメントは、Dataflow ジョブの実行を詳細に調べる必要がある Dataflow ユーザーを対象としています。

このページでは、この機能の使用目的の概要とユーザー インターフェースのレイアウトについて説明します。トラブルシューティングの詳細については、[実行の詳細] タブを使用するをご覧ください。

用語

実行の詳細を効果的に使用するには、次の主要なコンセプトの Dataflow ジョブへの適用方法を知っておく必要があります。

  • 融合最適化: Dataflow が複数のステップまたは変換を融合するプロセス。これにより、ユーザーが送信するパイプラインが最適化されます。詳しくは、融合最適化をご覧ください。
  • ステージ: Dataflow パイプラインで融合されるステップの単位。
  • クリティカル パス: ジョブ全体のランタイムを左右するパイプラインのステージ シーケンス。たとえば、このシーケンスでは次のステージは除外します。
    • ジョブ全体が終了する前に終了したパイプラインのブランチ。
    • 下流の処理を遅延させなかった入力。
  • ワーカー: Dataflow ジョブを実行する Compute Engine VM インスタンス。
  • ワークアイテム: Dataflow によって選択されたバンドルに対応する作業単位。

実行の詳細を使用する場面

Dataflow ジョブの実行時に実行の詳細を使用する一般的なシナリオは次のとおりです。

  • パイプラインが停止し、問題のトラブルシューティングを行う。
  • パイプラインの速度が遅いため、パイプラインを最適化することを目標とする。
  • 修正する必要はないが、パイプラインの実行の詳細を確認してジョブを理解する必要がある。

実行の詳細を有効にする

[ステージのワークフロー] ビューは、すべてのバッチジョブとストリーミング ジョブで自動的に有効になります。バッチジョブの場合、Dataflow ジョブの起動時に [実行の詳細] タブに追加のモニタリング情報を表示するには、次のパラメータを渡します。

--experiments=use_monitoring_state_manager
--experiments=enable_execution_details_collection

バッチジョブの場合は、[ステージの進捗状況] ビューと [ワーカーの進捗状況] ビューが有効になります。

この機能によって VM に追加の CPU やネットワークなどは発生しません。実行の詳細は、ジョブのパフォーマンスに影響しない Dataflow のバックエンド モニタリング システムによって収集されます。

ジョブを起動すると、Dataflow モニタリング UI を使用して [実行の詳細] タブを表示できます。詳細については、Dataflow モニタリング インターフェースにアクセスするをご覧ください。

[実行の詳細] タブの使用方法

[実行の詳細] タブには、ステージの進行状況サイドパネルステージの進行状況内)、ステージのワークフローワーカーの進行状況の 4 つのビューがあります。このセクションでは、各ビューの詳細と、正常に完了した、またはしなかった Dataflow ジョブの例について説明します。

ステージの進捗状況

[ステージの進行状況] ビューには、ジョブの実行ステージが開始時刻と終了時刻別に表示されます。この時間はバーで表示されます。たとえば、最長のバーを調べることで、パイプラインの最長のステージを視覚的に確認できます。

各バーの下にスパークラインがあり、ステージの進捗状況を時系列で示します。ジョブ全体のランタイムを左右するステージをハイライト表示するには、[クリティカル パス] トグルをクリックします。

[ステージ情報] パネルに、ステージに関連付けられたステップのリストが、経過時間の降順に表示されます。このパネルを開くには、バーのいずれかにカーソルを合わせて、[詳細を表示] をクリックします。

ステージの進行状況ビューの例。6 つの異なる実行ステージの長さの可視化。このビューには、ステージ情報パネルも含まれています。

ステージのワークフロー

ステージのワークフローは、ジョブの実行ステージをワークフロー グラフとして表示します。ジョブ全体のランタイムを直接左右するステージだけを表示するには、[クリティカル パス] トグルをクリックします。

ステージのワークフロー ビューの例。ジョブのさまざまな実行ステージの階層が表示されます。

ワーカーの進捗状況

[ワーカーの進捗状況] には、特定のステージのワーカーが表示されます。各バーは、ワーカーにスケジュール設定されたワークアイテムと対応しています。各ワーカーの下にワーカーの CPU 使用率を追跡するスパークラインが表示されるので、低使用率の問題を簡単に把握できます。

適切な密度で表示するために、ステージを事前に選択してこのビューをフィルタする必要があります。まず、[ステージの進捗状況] ビューでステージを特定します。そのステージにカーソルを合わせて、[ワーカーを表示] をクリックし、[ワーカーの進捗状況] ビューを開きます。

ワーカーの進捗状況ビューの例。ワーカーには、ワークアイテムのスケジュール設定と CPU 使用率に対応するバーとスパークラインがあります。

次のステップ