MaxCompute のジョブ O&M 機能を使用すると、過去のジョブと実行中のジョブを表示できます。これにより、ジョブの詳細を理解し、実行時のリソース負荷を分析し、ジョブの O&M を実行できます。
特徴
MaxCompute のジョブ O&M 機能を使用すると、現在のプロジェクトで 過去のジョブと実行中のジョブ を表示および管理できます。
データ開発者にとって、ジョブ O&M 機能はジョブの詳細を表示し、例外や問題を迅速に検出し、問題のあるジョブを処理するのに役立ちます。たとえば、単一のジョブまたは複数のジョブをバッチで終了させることができます。
管理者にとって、ジョブ O&M 機能は、特定の時点でのクォータグループのリソース負荷を表示し、システムリソースを効率的に割り当てて管理し、ジョブの実行効率とパフォーマンスを向上させるのに役立ちます。
MaxCompute コンソールの左側のナビゲーションウィンドウで、[ワークスペース] > [ジョブの O&M] を選択します。[ジョブの O&M] ページでは、フィルター条件を設定して特定のジョブを検索できます。これにより、ジョブの詳細を表示し、ジョブを分析できます。次の機能が利用可能です:
操作
ジョブのフィルター
パラメーターに基づいてジョブをフィルターし、表示したいジョを見つけることができます。次の表にフィルターパラメーターを示します。
ジョブのソート
デフォルトでは、フィルターされたジョブの結果はジョブの終了時刻の降順でソートされます。未完了のジョブが一番上に表示されます。基本的な単一列ソートまたは高度な複数列ソートを使用できます。
基本的な単一列ソート: ソートボタンのある列を昇順または降順でソートできます。
高度な複数列ソート: リストの右上隅にある [高度なソート] ボタンをクリックします。[ソートの追加] をクリックして複数の列名を追加し、各列のソート順 (昇順または降順) を指定できます。[OK] をクリックして、複数列ソートを適用します。
説明高度なソート条件がアクティブな場合、基本的な単一列ソートは実行できません。リストの右上隅にある [高度なソート] ボタンをクリックし、[リセット] をクリックしてから [OK] をクリックしないと、基本的な単一列ソートを実行できません。
ジョブ詳細の表示
ジョブリストで、特定のジョブの[操作]列にある[LogView] をクリックして LogView ページに移動します。このページでは、ジョブのステータス、詳細、および結果を表示できます。
ジョブの終了
単一のジョブを [終了] するか、[複数のジョブをバッチで終了] できます。この操作は、[最新のステータス] 列に表示される
実行中状態のジョブで利用できます。ジョブインサイトの取得
単一のジョブに対して [インサイト] 操作を実行して、その概要、リソース消費、および特定の時点でのコンピューティングクォータのリソース割り当てを表示できます。また、ジョブインテリジェント診断をトリガーすることもできます。
説明現在、インテリジェント診断は SQL ジョブでのみサポートされています。
実行時間が 2 分未満のジョブ、または SQL、MapReduce、Spark、Mars 以外のジョブタイプでは、ジョブレベルのリソース消費データは利用できません。
ジョブ統計チャート
フィルターされた結果に基づいて、時間とステータスに基づいたジョブ数の積み上げ縦棒グラフが生成されます。このチャートは、ジョブの全体的な実行ステータスを表示するのに役立ちます。
ジョブリスト
ジョブリストには、フィルターされたジョブの結果が表示されます。ジョブの O&M に役立つ一般的なジョブ情報を提供します。MaxCompute は、さまざまなシナリオでジョブ情報を取得するために、[通常リスト] と [スナップショットリスト] を提供します:
[通常リスト]: 一定期間のすべてのジョブ情報を表示します。
[スナップショットリスト]: 特定の時点で実行中のジョブのスナップショット情報を表示します。これには、スナップショットのステータス、CPU 使用量、メモリ使用量、要求量、およびスナップショット時の使用率が含まれます。
次のジョブ情報は収集できません:
ジョブのスナップショットデータは 3 分ごとに収集されます。したがって、一部のジョブのスナップショットデータは収集されない場合があります。これは、収集時刻の 3 分以内に開始されたジョブに適用されます。
PAI を介して開始された一部の MaxCompute ジョブは収集できません。特に RAM ユーザーによって開始されたジョブです。
Developer Edition (廃止予定) のプロジェクトのジョブは収集できません。
データは特定の頻度で処理されるため、一部のジョブはジョブリストで 実行中 状態であっても、LogView ではすでに完了している場合があります。これは、実行時間が非常に短いジョブで一般的です。LogView の最新のステータスが優先されます。
通常リスト
パラメーター:
列名 | 説明 |
インスタンス ID | 各 MaxCompute ジョブはインスタンスを生成し、各インスタンスには対応するインスタンス ID があります。ジョブのプロジェクト、コンピューティングクォータ、およびタイプ情報も表示されます。 説明
|
最新のステータス | ジョブの最新のステータス。 |
ジョブオーナー | MaxCompute ジョブの実行に使用された Alibaba Cloud アカウント。 アカウント情報に基づいてジョブオーナーを見つけることができます。ジョブがリソースを過剰に使用し、他のジョブに影響を与える場合は、オーナーに連絡してジョブを停止できます。ジョブの停止方法の詳細については、「インスタンス操作」をご参照ください。 |
優先度 | 各ジョブには 0 から 9 までの優先度があります。値が小さいほど優先度が高くなります。優先度の高いジョブは、優先度の低いジョブよりも先にコンピューティングリソースを取得します。詳細については、「ジョブの優先度」をご参照ください。 |
送信時刻 | インスタンスの送信時刻。 |
開始時刻 | ジョブが最初のコンピューティングリソースを取得した時刻。DDL 文など、実行時間が短い、またはコンピューティングリソースを消費しないジョブの場合は、代わりにジョブの送信時刻が使用されます。この列はデフォルトで非表示になっています。カスタムリストオプションをクリックして表示できます。 |
待機時間 | ジョブの送信時刻から開始時刻までの期間。この列はデフォルトで非表示になっています。カスタムリストオプションをクリックして表示できます。 |
実行時間 | ジョブの開始時刻から終了時刻までの期間。この列はデフォルトで非表示になっています。カスタムリストオプションをクリックして表示できます。 |
終了時刻 | インスタンス実行の終了時刻。 |
合計実行時間 | ジョブの送信時間から終了時間までの合計時間。 |
累積 CPU 使用量 | ジョブ実行全体での合計 CPU 消費量。単位: |
累積メモリ使用量 | ジョブ実行全体での合計メモリ消費量。単位: |
入力データサイズ | ジョブの計算の入力データ量。 |
インテリジェント診断 | ジョブのインテリジェント診断の結果から生成されたラベル。 |
ExtPlantFrom | ジョブを開始したクライアント。 たとえば、DataWorks です。開始クライアントは、ジョブを開始するときにこの情報をアクティブに渡す必要があります。 |
ExtNodeId | ジョブ開始元に対応するタスク ID。 たとえば、DataWorks のノード ID です。開始クライアントは、ジョブを開始するときにこの情報をアクティブに渡す必要があります。 |
ExtNodeOnDuty | ジョブ開始元に対応するタスクオーナーのアカウント ID。 たとえば、DataWorks のノードオーナーです。開始クライアントは、ジョブを開始するときにこの情報をアクティブに渡す必要があります。 |
署名 | SQL ジョブの署名。 この署名を使用して、SQL 文の各実行のインスタンスを見つけることができます。 |
スナップショットリスト
パラメーター:
列名 | 説明 |
インスタンス ID | 各 MaxCompute ジョブはインスタンスを生成し、各インスタンスには対応するインスタンス ID があります。ジョブのプロジェクト、コンピューティングクォータ、およびタイプ情報も表示されます。 説明 インスタンスの [アクション] 列にある [LogView] をクリックして LogView ページに移動し、ジョブの具体的な進捗状況を表示できます。LogView の使用方法の詳細については、「Logview 2.0 を使用してジョブ情報を表示する」をご参照ください。 インスタンスの [アクション] 列にある [インサイト] をクリックして、ジョブインサイトページに移動することもできます。このページでは、診断結果、リソース消費、および類似のジョブ情報を表示できます。詳細については、「ジョブインサイト」をご参照ください。 |
スナップショット時刻 | ジョブのスナップショット情報が収集された時刻。 |
スナップショットステータス | スナップショット収集時のジョブのステータス。 |
ジョブオーナー | MaxCompute ジョブの実行に使用された Alibaba Cloud アカウント。 アカウント情報に基づいてジョブオーナーを見つけることができます。ジョブがリソースを過剰に使用し、他のジョブに影響を与える場合は、オーナーに連絡してジョブを停止できます。ジョブの停止方法の詳細については、「インスタンス操作」をご参照ください。 |
優先度 | 各ジョブには 0 から 9 までの優先度があります。値が小さいほど優先度が高くなります。優先度の高いジョブは、優先度の低いジョブよりも先にコンピューティングリソースを取得します。詳細については、「ジョブの優先度」をご参照ください。 |
CPU 使用量 | スナップショット時のジョブの CPU 使用量。単位: Core。 |
CPU 要求量 | スナップショット時のジョブの CPU 要求量。単位: Core。 |
CPU 達成率 | スナップショット時の CPU 使用量 / CPU 要求量。 |
CPU 使用量スナップショット | 観測時間におけるジョブの CPU 使用率 ( |
メモリ使用量 | スナップショット時のジョブのメモリ使用量。単位は適応的に表示されます。 |
メモリ要求量 | スナップショット時のジョブのメモリ要求量。単位は適応的に表示されます。 |
メモリ達成率 | スナップショット時のメモリ使用量 / メモリ要求量。 |
メモリ使用量スナップショット | 観測時間におけるジョブのメモリ使用率 ( |
送信時刻 | インスタンスの送信時刻。 |
合計実行時間 | ジョブの送信時刻からスナップショット時刻までの合計期間。 |
ExtPlantFrom | ジョブを開始したクライアント。 たとえば、DataWorks です。開始クライアントは、ジョブを開始するときにこの情報をアクティブに渡す必要があります。 |
ExtNodeId | ジョブ開始元に対応するタスク ID。 たとえば、DataWorks のノード ID です。開始クライアントは、ジョブを開始するときにこの情報をアクティブに渡す必要があります。 |
ExtNodeOnDuty | ジョブ開始元に対応するタスクオーナーのアカウント ID。 たとえば、DataWorks のノードオーナーです。開始クライアントは、ジョブを開始するときにこの情報をアクティブに渡す必要があります。 |
署名 | SQL ジョブの署名。 この署名を使用して、SQL 文の各実行のインスタンスを見つけることができます。 |
一般的な O&M シナリオの例
特定のジョブの詳細を表示する
シナリオ
DataWorks の時間単位のスケジューリングノードによって開始されたジョブの実行ステータスを表示したり、特定の MaxCompute ジョブを監査したりする必要があります。
手順
MaxCompute コンソールにログインします。左側のナビゲーションウィンドウで、[ワークスペース] > [ジョブの O&M] を選択します。
必要に応じて [時間範囲] を設定します。
[検索] をクリックします。
ジョブリストの上で、[ExtNodeId] または [インスタンス ID] パラメーターを選択し、ジョブの値を入力します。
アイコンをクリックして、ジョブリストを再度フィルターします。結果リストで、ターゲットインスタンスの [アクション] 列にある [LogView] をクリックして LogView ページに移動し、詳細なジョブ情報を表示します。詳細については、「LogView 2.0 を使用してジョブ情報を表示する」をご参照ください。
特定の時間範囲のジョブの詳細を表示する
O&M シナリオ
担当している Project_1 および Project_2 プロジェクトで過去 1 日間に実行されたジョブを表示し、どのジョブが失敗したかを分析して対処する必要があります。
手順
MaxCompute コンソールにログインします。左側のナビゲーションウィンドウで、[ワークスペース] > [ジョブの O&M] を選択します。
[時間範囲] を [1d] に設定するか、目的の日の
00:00:00から現在の時刻までのカスタム [時間範囲] を設定します。[プロジェクトの選択] ドロップダウンリストから、Project_1 と Project_2 を選択します。
結果リストで、ターゲットインスタンスの [アクション] 列にある [LogView] をクリックして LogView ページに移動し、詳細なジョブ情報を表示します。詳細については、「LogView 2.0 を使用してジョブ情報を表示する」をご参照ください。
特定の時点でのサブスクリプションクォータのリソース使用量を表示する
シナリオ
サブスクリプションのデフォルトクォータのリソース使用率が高く、多くのジョブが待機している場合、どのジョブがクォータリソースを占有しているかを特定する必要があります。
手順
MaxCompute コンソールにログインします。左側のナビゲーションウィンドウで、[ワークスペース] > [ジョブの O&M] を選択します。
[時間範囲] を [1h] に設定するか、
開始時刻を設定し、現在の時刻を終了時刻として入力してカスタム時間範囲を定義します。[クォータの選択] パラメーターを
サブスクリプションのデフォルトクォータに設定します。[検索] をクリックします。
クエリ結果リストで、[最新] [ステータス] が
実行中のジョブの [CPU 使用率スナップショット] と [メモリ使用率スナップショット] を表示できます。最も高い割合のジョブがビジネス要件を満たしているかどうかを確認し、他のジョブ情報を使用して、ジョブが正常であるか、終了する必要があるかを判断するのに役立てることができます。説明ジョブの詳細については、ターゲットインスタンスの [アクション] 列にある [LogView] をクリックして LogView ページに移動し、詳細なジョブ情報を表示します。詳細については、「LogView 2.0 を使用してジョブ情報を表示する」をご参照ください。
クエリ高速化ジョブの詳細を表示する
シナリオ
過去 1 日間のクエリ高速化ジョブの実行ステータスと詳細を表示する必要があります。
手順
MaxCompute コンソールにログインします。左側のナビゲーションウィンドウで、[ワークスペース] > [ジョブの O&M] を選択します。
[時間範囲] を [1d] に設定し、[ジョブタイプ] に [SQLRT (クエリ高速化)] を選択します。
[検索] をクリックします。
ジョブリストで基本的なジョブ情報を表示します。ジョブの詳細については、ターゲットインスタンスの [アクション] 列にある [LogView] をクリックして LogView ページに移動し、詳細なジョブ情報を表示します。詳細については、「LogView 2.0 を使用してジョブ情報を表示する」をご参照ください。
説明クエリ高速化機能を使用するジョブの場合、同じセッションで複数の SQL コマンドが実行されることがあります。1 つのセッションは 1 つのインスタンス ID に対応します。そのインスタンス ID の LogView を使用して、セッション内のすべての SQL 文の実行ステータスを表示できます。したがって、[ジョブの O&M] ページでクエリ高速化ジョブを表示する場合は、次の点に注意してください:
セッションが終了していない場合、つまり一部の SQL 文は完了しているが、他の SQL 文はまだ実行中の場合、ジョブの [最新のステータス] は
実行中です。セッションが期限切れになった場合、またはインターフェイスが閉じられたために終了した場合、ジョブの [最新のステータス] は
キャンセル済みです。
特定の時点でのジョブリソース消費とコンピューティングクォータのリソース割り当てを表示する
シナリオ
ジョブが長時間実行されても完了せず、LogView で原因を見つけるのが難しい場合、またはジョブが完了後に予想よりも遅く実行される場合、問題がリソース供給の問題によって引き起こされているかどうかを分析する必要があります。
手順
MaxCompute コンソールにログインします。左側のナビゲーションウィンドウで、[ワークスペース] > [ジョブの O&M] を選択します。
[時間範囲] を選択し、[クォータの選択] パラメーターを使用してフィルターします。[検索] をクリックします。
ターゲット Instance ID の [アクション] 列にある [インサイト] をクリックして、[ジョブインサイト] ページに移動します。
[リソース消費] タブで、ジョブのライフサイクル中のリソース消費を表示します。
リソース消費チャートには、ジョブレベルでの使用 CU と待機 CU の時間経過に伴う変化曲線、およびジョブが実行されたクォータレベルでの使用 CU と待機 CU の変化が表示されます。ジョブの CU 使用率が低いにもかかわらず、クォータレベルの CU 使用率が高いか、継続的に上限に達している場合は、クォータリソースが不足しており、他のジョブが現在のジョブとコンピューティングリソースを競合していることを意味します。
リソース消費チャートの横軸上の時点をクリックすると、その時点でのコンピューティングクォータレベルのリソース割り当てを表示できます。これにより、[実行中] および [待機中] のリソースが割り当てられているジョブの数と優先度の分布が表示されます。ターゲットの優先度に対応するカラーブロックをクリックしてジョブリストに移動し、それらのジョブの詳細を表示できます。これにより、どのジョブが現在のジョブとコンピューティングリソースを競合しているかを特定できます。ビジネスニーズに基づいて、ジョブの優先度を調整したり、コンピューティングリソースを管理したりすることで、タスクの実行を最適化できます。詳細については、「ジョブの優先度」または「コンピューティングリソースの管理 - クォータの管理」をご参照ください。
次のステップ
ジョブのリソース使用量が常に高く、他の多くのジョブが待機している場合は、次の対策を講じることができます:
このジョブがビジネス要件を満たしていない場合は、終了させることができます。
このジョブがビジネス要件を満たしている場合、クォータリソースの構成が合理的でないことを示しています。リソース構成計画を最適化する必要があります。詳細については、「コンピューティングリソース構成の最適化」をご参照ください。
リファレンス
コマンドを使用してジョブ情報を表示し、ジョブのステータスを確認し、ジョブを停止するには、「インスタンス操作」をご参照ください。