Azure portal 内の Stream Analytics ジョブ ダイアグラム (プレビュー)
Azure portal 内のジョブ ダイアグラムは、入力元、出力先、およびメトリックを使用してジョブのクエリ ステップ (論理的概念) またはストリーミング ノード (物理的概念) を視覚化するのに役立ちます。 問題をトラブルシューティングするときに、ジョブ ダイアグラムを使用して各ステップまたはストリーミング ノードのメトリックを調べることで、問題の原因を迅速に特定できます。
ジョブ ダイアグラムには次の 2 つの種類があります。
物理ダイアグラム: Stream Analytics ジョブの主要なメトリックを、物理的計算概念であるストリーミング ノード ディメンションで視覚化したものです。 ストリーミング ノードは、ジョブの入力データの処理に使用される一連のコンピューティング リソースを表します。 ストリーミング ノード ディメンションの詳細については、「Azure Stream Analytics ノード名ディメンション」を参照してください。
各ストリーミング ノード内には、ストリーム データの処理に使用できる Stream Analytics プロセッサがあります。 各プロセッサは、クエリの 1 つ以上の手順を表します。 物理ジョブ ダイアグラムのプロセッサ ダイアグラムを使うと、各ストリーミング ノード内のプロセッサ トポロジを視覚化できます。
論理ダイアグラム: Stream Analytics ジョブの主要なメトリックを、論理的概念であるジョブのクエリに基づくクエリ ステップで視覚化したものです。 詳細については、「Azure portal 内の論理ジョブ ダイアログ (プレビュー) を使用したデバッグ」を参照してください。
この記事では、ガイドとなる 2 種類のジョブ ダイアグラムについて説明します。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
ジョブ ダイアグラムを使用する
Azure portal で、Stream Analytics ジョブを探して選択します。 次に、[開発者ツール] で [ジョブ ダイアグラム (プレビュー)] を選択します。
左上で [論理] と [物理] をクリックすることによって、2 種類のジョブ ダイアグラムを切り替えることができます。
物理ジョブ ダイアグラム
次のスクリーンショットは、既定の期間 (過去 30 分間) の物理ジョブ ダイアグラムを示しています。
コマンド バー セクション: これは、ジョブ メトリックの時間範囲の構成、ヒートマップの視覚化の切り替えまたは構成、ストリーミング ノードの検索、および [ダイアグラム] と [テーブル] 間のビューの切り替えを行うことができるコマンド領域です。
ヒートマップ設定: ヒートマップ設定を使用すると、必要なメトリックと並べ替えの種類に基づいてダイアグラム内のノードを並べ替えることができます。 メトリックは、CPU およびメモリ使用率、ウォーターマークの遅延、入力イベント、およびバックログされた入力イベントにすることができます。
時間範囲: さまざまな時間範囲とジョブ実行を選択して、ダイアグラムとメトリックを表示できます。
ジョブ実行: ジョブ実行は時間範囲内です。 ジョブが開始、再起動、またはスケールアップ/ダウン (SU の変更) されると、新しいジョブ実行が生成されます。 1 つのジョブ実行が物理ジョブ ダイアログにマッピングされます。
ダイアグラム/テーブル ビュー スイッチャー: ダイアグラムとテーブル間でビューを切り替えることができます。 テーブル ビューを以下に示します。
ダイアグラム/テーブル セクション: ダイアグラム ビューまたはテーブル ビューを使用して、ストリーミング ノード レベルでメトリック (選択された時間範囲内で集計) を表示できる場所です。 このセクション内の各ボックスは、入力データの処理に使用されるストリーミング ノードを表します。 各ノード上のメトリックは次のとおりです。
- 入力イベント (集計の種類: SUM)
- CPU 使用率 (集計の種類: 平均)
- SU (メモリ) 使用率 (集計の種類: 最大)
- パーティション ID (A リスト、集計なし)
- ウォーターマークの遅延 (集計の種類: 最大)
- バックログされた入力イベント (集計の種類: SUM)
メトリック定義の詳細については、「Azure Stream Analytics ノード名ディメンション」を参照してください。
グラフ セクション: 選択された時間範囲内の履歴メトリック データを表示できる場所です。 既定のグラフに表示される既定のメトリックは、SU (メモリ) 使用率と CPU 使用率です。 [グラフの追加] をクリックすることによって、グラフをさらに追加することもできます。
ダイアグラム/テーブル セクションとグラフ セクションは連動します。 ダイアグラム/テーブル セクションで複数のノードを選択すると、選択したノードでフィルター処理されたメトリックがグラフ セクションに表示されます。その逆も同様です。
物理ダイアグラムを使用してデバッグする方法の詳細については、「Azure portal 内の物理ジョブ ダイアグラム (プレビュー) を使用したデバッグ」を参照してください。
物理ジョブ ダイアグラムのプロセッサ ダイアグラム
物理ジョブ ダイアグラムのプロセッサ ダイアグラムを使うと、特定のストリーミング ノード内のプロセッサ トポロジを視覚化することができます。 プロセッサ ダイアグラムにアクセスするには、物理ジョブ ダイアグラムを開き、プロセッサ ダイアグラムを確認するストリーミング ノードを見つけて、そのストリーミング ノード名をクリックしてプロセッサ ダイアグラムを開く必要があります。
- 情報バー セクション: このプロセッサ ダイアグラムの基本情報 (時間範囲、対応するストリーミング ノード名など) を確認できる場所です。
- ダイアグラム セクション: プロセッサ ダイアグラムが視覚化される場所です。 このセクションの各ノード ボックスは、特定の用途にストリーム データを処理するプロセッサを表します。
プロセッサの種類: プロセッサの種類を示し、特定のデータ処理の目的を表します。 各プロセッサ ノードで使用できます。
プロセッサの種類 説明 Input または Output このプロセッサは、入力の読み取りまたは出力データ ストリームの書き込みに使われます。 ReferenceData このプロセッサは、参照データのフェッチに使われます。 Computing このプロセッサは、クエリ ロジックに従ってストリーム データを処理するために使用します。たとえば、集計、フィルター処理、ウィンドウでのグループ化などです。ストリーム データ計算クエリ関数の詳細については、「Azure Stream Analytics クエリ言語リファレンス」を参照してください。 MarshallerUpstream と MarshallerDownstream ストリーミング ノード間でストリーム データのやり取りがある場合、2 つのマーシャラー プロセッサ 1) が存在します。 アップストリーム ストリーミング ノードと 2) でデータを送信するための MarshallerUpstream。 ダウンストリーム ストリーミング ノードでデータを受信するための MarshallerDownstream。 Merger このプロセッサの用途は、複数のアップストリーム ノードから出力されたクロスパーティション ストリーム データを受信することです。 ジョブのパフォーマンスを最適化するには、クエリを更新してマージャー プロセッサを削除し、ジョブを並列化するのがベスト プラクティスです。なぜなら、マージャー プロセッサがこのジョブのボトルネックだからです。 Visual Studio Code ASA 拡張機能内のジョブ ダイアグラム シミュレーター機能を使用すると、ジョブ クエリを最適化するときにクエリをローカルでシミュレートしやすくなります。 詳細については、ジョブ ダイアグラム シミュレーターを使用してクエリを最適化する (プレビュー) に関するページを参照してください。 アダプターの種類: 入力または出力アダプターの種類が表示されます。 Stream Analytics はさまざまな入力ソースと出力先をサポートしています。 各入力ソースまたは出力先には、専用のアダプターの種類があります。 これは入力プロセッサと出力プロセッサでのみ使用できます。 たとえば、"InputBlob" は入力プロセッサがデータを受け取る元の ADLS Gen2 入力を表します。"OutputDocumentDb" は出力プロセッサがデータを出力する先の Cosmos DB 出力を表します。
入力と出力の種類に関する詳細については、Azure Stream Analytics の入力の概要と Azure Stream Analytics の出力の概要に関する記事を参照してください。
パーティション ID: このプロセッサによって処理されているパーティション ID のデータが表示されます。 これは入力プロセッサと出力プロセッサでのみ使用できます。
シリアライザーの種類: シリアル化の種類が表示されます。 Stream Analytics は複数のシリアル化の種類をサポートしています。 これは入力プロセッサと出力プロセッサでのみ使用できます。
論理ジョブ ダイアグラム
論理ジョブ ダイアグラムのレイアウトは物理ダイアグラムに似ていますが、3 つのセクションで構成され、メトリック設定と構成設定が異なります。
コマンド バー セクション: 論理ダイアグラムでは、クラウド ジョブ (停止、削除) を操作し、ジョブ メトリックの時間範囲を構成できます。 ダイアグラム ビューは論理ダイアグラムでのみ使用できます。
ダイアグラム セクション: この選択項目内のノード ボックスは、ジョブの入力ステップ、出力ステップ、およびクエリ ステップを表します。 このセクション内の特定のノードをクリックすると、そのノード内のメトリックを直接表示することも、グラフ セクションで対話形式で表示することもできます。 メトリック定義の詳細については、「Azure Stream Analytics ノード名ディメンション」を参照してください。
グラフ セクション: 論理ダイアグラム内のグラフ セクションには、[メトリック] と [アクティビティ ログ] という 2 つのタブがあります。
- メトリック: 右側のパネルで対応するメトリックが選択されている場合は、ここにジョブのメトリック データが表示されます。
- アクティビティ ログ: ジョブに対して実行されたジョブの操作がここに表示されます。 ジョブの診断ログが有効になっている場合は、それもここに表示されます。 ジョブ ログの詳細については、「Azure Stream Analytics ジョブ ログ」を参照してください。
論理ジョブ ダイアグラムが読み込まれると、このジョブの過去 30 分間のメトリック (ウォーターマークの遅延、入力イベント、出力イベント、およびバックログされた入力イベント) がグラフ セクションに表示されます。
ダイアグラム セクションとグラフ セクション間の相互作用は、論理ダイアグラムでも使用できます。 メトリック データは、ノードのプロパティによってフィルター処理されます。
論理ダイアグラムを使用してデバッグする方法の詳細については、「Azure portal 内の論理ジョブ ダイアグラム (プレビュー) を使用したデバッグ」を参照してください。