コンピューティング メトリックの表示
この記事では、Azure Databricks UI のネイティブ コンピューティング メトリック ツールを使用して、主要なハードウェアと Spark のメトリックを収集する方法について説明します。 メトリック UI は多目的に、そしてジョブのコンピューティングに利用できます。
Note
ノートブックとジョブのサーバーレス コンピューティングでは、メトリック UI の代わりにクエリ分析情報が使用されます。 サーバーレス コンピューティング メトリックの詳細については、「クエリの分析情報を表示する」を参照してください。
メトリックは、通常 1 分以内の遅延で、ほぼリアルタイムで利用可能です。 メトリックは、顧客のストレージではなく、Azure Databricks が管理するストレージに保存されます。
これらの新しいメトリックは Ganglia とどう違いますか?
新しいコンピューティング メトリック UI では、Spark の使用量や内部 Databricks プロセスなど、クラスターのリソース使用量をより包括的に把握できます。 対照的に、Ganglia UI では Spark コンテナーの消費量のみが測定されます。 この違いにより、2 つのインターフェイス間のメトリック値の不一致が生じる可能性があります。
コンピューティング メトリック UI へのアクセス
コンピューティング メトリック UI を表示します。
- サイドバーで、[コンピューティング]をクリックします。
- メトリックを表示させたいコンピューティングをクイックします。
- [メトリック] タブをクリックします。
ハードウェア メトリックは既定で表示されます。 Spark メトリックを表示するには、[ハードウェア] というラベルのドロップダウン メニューをクリックし、[Spark] を選択します。 インスタンスが GPU 対応の場合は、GPU を選択することもできます。
期間でメトリックをフィルター処理する
日付の選択フィルターを使用して時間の範囲を選択することで、履歴メトリックを表示できます。 メトリックは 1 分ごとに収集されるため、過去 30 日間の任意の範囲の日、時間、または分でフィルター処理できます。 予定表アイコンをクリックして定義済みのデータ範囲から選択するか、テキスト ボックス内をクリックしてカスタム値を定義します。
Note
グラフに表示される時間間隔は、表示している時間の長さに基づいて調整されます。 ほとんどのメトリックは、現在表示している時間間隔に基づく平均です。
[最新の情報に更新] ボタンをクリックして、最新のメトリックを取得することもできます。
ノード レベルでメトリックを表示する
個々のノードのメトリックを表示するには、[コンピューティング] ドロップダウン メニューをクリックし、メトリックを表示するノードを選択します。 GPU メトリックは、個々のノード レベルでのみ使用できます。 Spark メトリックは、個々のノードでは使用できません。
Note
特定のノードを選択しない場合、結果はクラスター内のすべてのノード (ドライバーを含む) で平均化されます。
ハードウェア メトリック グラフ
コンピューティング メトリック UI では、次のハードウェア メトリック グラフを表示できます。
- サーバー負荷分散: このグラフは、各ノードの過去 1 分間の CPU 使用率を示します。
- CPU 使用率: 合計 CPU 秒コストに基づいて、各モードで CPU が費やした時間の割合。 メトリックは、グラフに表示される時間間隔に基づいて平均化されます。 次のモードが追跡されます。
- guest: VM を実行している場合、それらの VM が使用する CPU
- iowait: I/O の待機に費やされた時間
- idle: CPU が何も行っていなかった時間
- irq: 割り込み要求に費やされた時間
- nice: 正の nice 値を持つ (つまり他のタスクより優先度が低い) プロセスによって使用された時間
- softirq: ソフトウェア割り込み要求に費やされた時間
- steal: 自分が VM の場合、他の VM によって "盗まれた" 自分の CPU の時間
- system: カーネルで費やされた時間
- user: ユーザーランドで費やされた時間
- メモリ使用率: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、モードごとの合計メモリ使用量。 次の使用状況の種類が追跡されます。
- used: 使用メモリ (コンピューティングで実行されているバックグラウンド プロセスによって使用されるメモリを含む)
- free: 未使用メモリ
- buffer: カーネル バッファーによって使用されるメモリ
- cached: OS レベルのファイル システム キャッシュによって使用されるメモリ
- メモリ スワップ使用率: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、モードごとの合計メモリ スワップ使用量。
- ファイル システムの空き領域: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、マウント ポイントごとの合計ファイル システム使用量。
- ネットワーク経由での受信量: グラフに表示される時間間隔に基づいて平均化された、デバイスごとのネットワーク経由で受信されたバイト数。
- ネットワーク経由での送信量: グラフに表示される時間間隔に基づいて平均化された、デバイスごとのネットワーク経由で送信されたバイト数。
- アクティブ ノードの数: 指定されたコンピューティングのすべての timestamp にあるアクティブ ノードの数が表示されます。
Spark メトリック グラフ
コンピューティング メトリック UI では、次の Spark メトリック グラフを表示できます。
- サーバー負荷分散: このグラフは、各ノードの過去 1 分間の CPU 使用率を示します。
- アクティブなタスクの数: グラフに表示される時間間隔に基づいて平均化された、特定の時点で実行されていたタスクの合計数。
- 失敗したタスクの合計数: グラフに表示される時間間隔に基づいて平均化された、Executor で失敗したタスクの合計数。
- 完了したタスクの合計数: グラフに表示される時間間隔に基づいて平均化された、Executor で完了したタスクの合計数。
- タスクの合計数: グラフに表示される時間間隔に基づいて平均化された、Executor でのすべてのタスク (実行中、失敗、完了) の合計数。
- 合計シャッフル読み取り量: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、シャッフル読み取りデータの合計サイズ。
Shuffle read
は、ステージの先頭にあるすべての Executor でシリアル化された読み取りデータの合計を意味します。 - 合計シャッフル書き込み量: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、シャッフル書き込みデータの合計サイズ。
Shuffle Write
は、送信前 (通常はステージの最後) のすべての Executor で書き込まれたシリアル化されたデータの合計です。 - タスクの合計期間: 秒単位で測定され、グラフに表示される時間間隔に基づいて平均化された、JVM が Executor でタスクの実行に費やした合計経過時間。
GPU メトリック グラフ
コンピューティング メトリック UI では、次の GPU メトリック グラフを表示できます。
- サーバー負荷分散: このグラフは、各ノードの過去 1 分間の CPU 使用率を示します。
- GPU ごとのデコーダー使用率: グラフに表示される時間間隔に基づいて平均化された、GPU デコーダーの使用率。
- GPUごとのエンコーダー使用率: グラフに表示される時間間隔に基づいて平均化された、GPU エンコーダーの使用率。
- GPU ごとのフレーム バッファー メモリ使用バイト数: バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化された、フレーム バッファーのメモリ使用率。
- GPU ごとのメモリ使用率: グラフに表示される時間間隔に基づいて平均化された、GPU メモリの使用率。
- GPU ごとの使用率: グラフに表示される時間間隔に基づいて平均化された、GPU の使用率。
トラブルシューティング
一定期間のメトリックが不完全または不足している場合は、次のいずれかの問題が発生する可能性があります。
- メトリックのクエリと格納を行う Databricks Service に障害が発生しました。
- お客様側のネットワークの問題。
- コンピューティングは異常な状態であるか、または異常な状態でした。