このトピックでは、LogView V2.0 (以下LogView) の機能と使用方法について説明します。 LogViewのURLにアクセスして、ジョブ情報を表示できます。
概要
LogViewは、MaxComputeジョブのステータスを記録および表示するために使用されます。 LogViewには次の機能があります。
ジョブ処理の論理アーキテクチャを表示するための対話型有向非巡回グラフ (DAG) を提供します。 ジョブの演算子を表示することもできます。
ジョブ実行中のプロセスを再生できます。
Fuxiセンサーを使用してメモリ使用率とCPU使用率を表示できます。
エントリーポイント
MaxComputeジョブを送信すると、https://logview.aliyun.com/logview で始まるURLが自動的に生成されます。
MaxComputeクライアントを使用してジョブを送信する場合、LogViewにアクセスするには、URLをブラウザーのアドレスバーにコピーする必要があります。
DataWorksを使用してジョブを送信する場合は、URLをクリックしてLogViewページに直接移動できます。
次の図は、LogViewページを示しています。
いいえ | セクション |
1 | タイトルと機能セクション。 詳細については、「タイトルと機能セクション」をご参照ください。 |
2 | 基本情報セクション。 詳細については、「基本情報セクション」をご参照ください。 |
3 | ジョブの詳細セクション。 詳細については、「ジョブの詳細セクション」をご参照ください。 |
タイトルと機能セクション
ジョブIDとジョブ名が表示されます。 ジョブIDは、MaxComputeジョブを一意に識別します。 ジョブIDは、ジョブの送信時に生成されます。 ジョブ名は、ジョブがSDKを使用して送信された場合にのみ表示されます。 このセクションの右側にあるアイコンをクリックして操作することもできます。
アイコン | 説明 |
| ジョブの詳細を含むLogview_detail.txtファイルを開きます。 ファイルはコンピュータに保存されます。 |
| LogView V1.0ページに戻ります。 |
| ジョブの詳細をファイルとしてコンピューターに保存します。 |
基本情報セクション
このセクションでは、ジョブに関する基本情報を示します。
パラメーター | 説明 |
MaxComputeサービス | ジョブが実行されるMaxComputeのエンドポイント。 エンドポイントの詳細については、「エンドポイント」をご参照ください。 |
プロジェクト | ジョブが属するMaxComputeプロジェクトの名前。 |
クラウドアカウント | ジョブの送信に使用されるAlibaba Cloudアカウント。 |
タイプ | ジョブの種類。 有効な値: SQL、SQLRT、LOT、XLib、CUPID、AlgoTask、およびGraph。 |
Status | ジョブのステータス。 有効な値:
|
開始時間 | ジョブが送信された時刻。 |
終了時間 | ジョブが完了した時刻。 |
Latency | ジョブが実行される期間。 |
進捗 | 仕事の進行状況。 |
優先度 | ジョブの優先度。 |
キュー | リソースクォータグループ内のキュー内のジョブの位置。 |
ジョブの詳細セクション
ジョブの詳細セクションでは、ジョブの詳細を照会できます。 このセクションは、次のタブで構成されています。
ジョブの詳細
進捗チャート
[ジョブの詳細] タブの上部に、ジョブの進捗チャートが表示されます。 進捗チャートには、Fuxiジョブ、Fuxiタスク、および演算子のディメンションからのサブタスクの依存関係が表示されます。 進捗チャートには、問題の特定に役立つ一連のツールも用意されています。 [ジョブ详细] タブの上部を次の図に示します。
いいえ
説明
1
Fuxiジョブの切り替えに使用されるパンくずナビゲーション。 JOB:_SQL_0_0_0_job_0はFuxiジョブの名前です。
2
問題のトラブルシューティングに使用されるツール。 トラブルシューティングには、Progress Chart、Input Heat Chart、Output Heat Chart、TaskTime Heart Chart、InstanceTime Heart Chartを使用できます。
3
アイコンをクリックしてジョブステータスを更新し、
アイコンをクリックして進捗チャートを拡大または縮小できます。
アイコンをクリックしてMaxCompute Studioのドキュメントを取得し、
アイコンをクリックしてジョブの上位レベルに切り替えることもできます。 4
ズームツール。
5
Fuxiタスク。 MaxComputeジョブは、1つ以上のFuxiジョブで構成されます。 各 Fuxi ジョブは 1 つ以上の Fuxi タスクで構成されます。 各 Fuxi タスクは 1 つ以上の Fuxi インスタンスで構成されます。 入力データの量が増加すると、MaxComputeはデータを処理するタスクごとにさらに多くのノードを開始します。 ノードはFuxiインスタンスに相当します。 たとえば、単純なMapReduceジョブは、2つのFuxiタスク、すなわち、mapタスク (M1) およびreduceタスク (R2) を生成する。 SQL文が複雑な場合、複数のFuxiタスクが生成される可能性があります。
実行ページで各Fuxiタスクの名前を表示できます。 例えば、M1はマップタスクを示す。 R4_3_9の3および9フィールドは、M3およびC9_3が完了した後にのみマップタスクを実行できることを示します。 同様に、M2_4_9_10_16は、R4_3_9、C9_3、R10_1_16、およびC16_1が完了した後にのみM2タスクを実行できることを示します。 R/Wは、タスクが読み書きする行数を示します。
タスクをクリックまたは右クリックして、タスクの演算子依存関係と演算子グラフを表示します。
入力テーブルと出力テーブルをすばやく表示できます。
6
Fuxiタスクの再生。 アイコンをクリックすると
、再生を開始または停止できます。 進行状況バーをドラッグすることもできます。 プログレスバーの横に開始時刻と終了時刻が表示されます。 再生時間は中央に表示されます。 7
サムネイル。
説明再生機能は、実行中状態のFuxiタスクには適用できません。
AI用プラットフォーム (PAI) ジョブなどのAlgoTaskジョブには、1つのFuxiタスクのみが含まれます。 したがって、これらのジョブの進捗チャートは提供されません。
非SQLジョブの場合、FuxiジョブとFuxiタスクのみが表示されます。
Fuxiジョブが1つしか存在しない場合、進捗チャートにはFuxiタスク間の依存関係が表示されます。 複数のFuxiジョブが存在する場合、進捗チャートにはFuxiジョブ間の依存関係が表示されます。
ジョブステータス
[ジョブの詳細] タブの下部には、ジョブの詳細情報が表示されます。 [ジョブの詳細] タブの下部を次の図に示します。
いいえ
説明
1
Fuxiジョブタブ。 このタブでFuxiジョブを切り替えることができます。
2
FuxiジョブのFuxiタスクの詳細。 Fuxiタスクをクリックして、このタスクのFuxiインスタンスに関する情報を表示します。 デフォルトでは、最初のFuxiジョブの最初のFuxiタスクのFuxiインスタンスに関する情報が表示されます。
AlgoTaskジョブとCupidコンソールで実行されるジョブの場合、このセクションに [センサー] 列が表示されます。 Fuxiタスクに対応するセンサーをクリックすると、FuxiインスタンスのCPUおよびメモリ情報が表示されます。 Fuxiジョブは、次のタイプに分類されます。
M: IDがMで始まるジョブがデータスキャンジョブである。
R: IDがRで始まるジョブはReduceジョブです。
J: IDがJで始まるジョブがJOINジョブである。
C: IDがCで始まるジョブは、仮想ノードを示す。 ノードは計算を含まず、分岐選択にのみ使用されます。
説明Fuxiセンサーは、中国 (成都) 、中国 (深セン) 、中国 (上海) 、中国 (杭州) 、中国 (張家口) 、中国 (北京) の各リージョンで利用できます。
Fuxiタスクが
割り込み状態にある場合、タスクは再実行され得る。 この場合、[進行状況] 列の値は、再実行の進行状況のみを示します。 その結果、ジョブ全体は成功しますが、このFuxiタスクの進行は100%されません。 この状態は正常です。
3
LogViewは、ステータスに基づいてインスタンスをグループに分割します。 [失敗] の横にある値をクリックすると、障害のあるノードに関する情報を照会できます。
4
Fuxiインスタンス。
上記の例では、FuxiインスタンスのIDは
M1#0_0です。 FuxiインスタンスのIDの最初の0は、Fuxiインスタンスの自動インクリメントIDを示します。 FuxiインスタンスのIDの2番目の0は、Fuxiタスクが再実行された回数を示します。 値0は、Fuxiタスクが再実行に失敗したことを示します。StdOutとStdErr。 表示する出力メッセージ、エラーメッセージ、および情報を表示できます。 情報をダウンロードすることもできます。
デバッグします。 エラーをデバッグおよびトラブルシューティングできます。
Fuxiインスタンスの数の制限。
使用するSQL文が次のいずれかの条件を満たしている場合、Fuxiインスタンスの数は1に制限されます。
LIMIT句が使用されます。PARTITION BY KEY句は、ウィンドウ関数とともに使用されるSQL文には含まれていません。GROUP BY KEY句は、集計関数とともに使用されるSQL文には含まれていません。join操作の実行に使用されるSQL文には、equi-JOINキーは含まれていません。
ORDER BY句が使用されます。
Fuxiセンサー
Fuxi Sensorは、すべてのディメンションでMaxComputeジョブに関する情報を表示するリソースビューです。 Fuxi Sensorを使用して、Fuxiインスタンスのメモリ使用率とCPU使用率を表示できます。 Fuxiセンサーを使用して、ジョブの問題を特定し、ジョブのパフォーマンスを分析することもできます。 たとえば、次のシナリオでFuxiセンサーを使用できます。
メモリ不足 (OOM) エラーが発生した場合は, 使用しているメモリのサイズを分析してください。
たとえば、Fuxiセンサーを使用して、Fuxiインスタンスのリソース使用量を表示できます。
CPU 使用率
cpu_usageチャートには2行あります。 1つの行は、要求されたCPUの数 (cpu_plan) を示し、もう1つの行は、使用されたCPUの数 (cpu_usage) を示す。 y軸において、400は4つのプロセッサを示す。 リクエストされたCPUの数は、プロセッサの数を調整することによってのみ調整できます。 使用できるCPUの数を調整することはできません。
メモリ使用量
mem_usageチャートには2行あります。 1つの行は、要求されたメモリリソースの数 (mem_plan) を示し、他の行は、使用されたメモリリソースの数 (mem_usage) を示す。
mem_usageには、レジデントセットサイズ (RSS) とPageCacheが含まれます。 RSSは、カーネルページ障害が発生した後に割り当てられるメモリを示します。 RSSは、ファイル以外のマッピングを使用してMallocを呼び出してメモリを要求するときに使用されます。 メモリが不足している場合、RSSは再利用できません。 PageCacheは、読み取りおよび書き込み要求に必要なファイル (ログファイルなど) をキャッシュするためにカーネルによって占有されるメモリです。 メモリが不足している場合は、PageCacheを再利用できます。
メモリの詳細

RSS使用量

PageCacheの使用状況

結果
[結果] タブには、ジョブのステータスに基づいた情報が表示されます。
ジョブが正常に実行されると、ジョブ結果が表示されます。
ジョブ結果の表示を無効にするには、次のコマンドを使用します。
setproject odps.forbid.fetch.result.by.bearertoken=true;odps.sql.select.output.formatパラメーターを設定して、結果の表示形式を指定できます。
-- To display the result in the CSV format, set this parameter to csv. set odps.sql.select.output.format=csv; -- To display the result in the text format, set this parameter to HumanReadable. set odps.sql.select.output.format=HumanReadable;
ジョブの実行に失敗した場合は、失敗の原因が表示されます。
SourceXML
XML
ジョブレベルとタスク関連情報は、このタブにXML形式で表示されます。
設定
現在のタスクの設定がこのタブに表示されます。
コマンド
現在のタスクのフラグ設定がこのタブに表示されます。
SQLスクリプト
現在のタスクのSQLスクリプトがこのタブに表示されます。
履歴
現在のタスクの履歴がこのタブに表示されます。
サブStatusHistory
現在のタスクのステータスがこのタブに表示されます。
メッセージのステータスコード | 説明 |
スケジューリング待ち | ジョブが送信され、MaxComputeフレームワークがスケジュールされるのを待っています。 ほとんどの場合、待ち時間は短いです。 |
クラスターリソース待ち | MaxComputeフレームワークがFuxiコンピューティングクラスターのリソースが不足していることを識別するため、ジョブはリソースを待機しています。 |
同時タスクスロットの待機中 | プロジェクトレベルのスロットリングがトリガーされます。 プロジェクトに対して同時に送信できるSQLタスクの数を設定できます。 |
データ複製待ち | ジョブはデータがレプリケートされるのを待っています。 |
実行スロット待ち | システムレベルのスロットリングがトリガーされます。 |
前のタスク試行のクリーンアップを待っています | ジョブは、履歴タスクのクリーンアップ操作が完了するのを待っています。 |
実行待ち | 親プロセスキューから子プロセスにジョブが配信されるのを待っています。 ほとんどの場合、待ち時間は短いです。 |
実行の準備 | ジョブは子プロセスに配布されます。 子プロセスが異常な場合は、準備時間が長くなる可能性があります。 |
タスクが実行中 | ジョブはMaxComputeフレームワークで処理中です。 |
SQLTaskは初期化中 | SQLタスクの初期化中です。 |
SQLTaskはクエリをコンパイルしています | SQLタスクはコンパイル中です。 |
SQLTaskは最適化クエリです | SQLタスクはクエリを最適化しています。 実行計画が複雑な場合、最適化時間はわずかに長くなります。 最適化時間が長すぎると、エラーが発生する可能性がある。 |
SQLTaskはデータソースを分割しています | SQLタスクは、最適化のためにデータソースを分割します。 |
SQLTaskは実行プランを生成しています | SQLタスクは実行計画を生成しています。 このプロセスが長時間タスクを実行すると、過剰な数のパーティションや小さなファイルからデータが読み取られる可能性があります。 |
SQLTaskが実行プランを送信しています | SQLタスクが実行計画を送信中です。 |
ジョブが送信されました | ジョブがコンピューティングクラスターに送信されます。 |
実行中のオフラインジョブ | ジョブがFuxiコンピューティングクラスターに送信される前に、MaxComputeフレームワークは、コンピューティングリソースがジョブに使用可能であることを識別します。 ただし、ジョブが送信された後、MaxComputeフレームワークは、クォータグループで使用可能なコンピューティングリソースがないことを識別します。 その結果、ジョブはコンピューティングリソースを待機します。 このステータスコードは1回だけ表示され、ジョブに使用できるコンピューティングリソースがない場合でも表示されなくなります。 |
オフラインジョブは実行中です | 実行中のFuxiジョブで使用できるリソースがない場合、このメッセージが表示されます。 たとえば、優先度の高いジョブはリソースを先取りします。 その結果、特定のFuxiインスタンスは実行できず、インスタンスは |
オフラインジョブが失敗しました | Fuxiジョブの実行に失敗しました。 |
オフラインジョブは成功です | Fuxiジョブは成功しました。 |
SQLTaskはメタ情報を更新しています | SQLタスクは、メタデータ情報のステータスを更新し、動的パーティションを生成しています。 このプロセスは時間がかかることがある。 |
SQLTaskは仕上げです | SQLタスクが完了しました。 |
オンライン仕事はfuxiによってキャンセルされます |
|
タスクの再実行 | ジョブが再実行されます。 |
実行を待っているオンライン仕事 |
|
オンラインジョブは実行中です |
|
オンラインジョブが失敗しました |
|
オンライン仕事は成功です |
|
オンライン仕事はfuxiによってキャンセルされます |
|
タスクキー-パス実行終了 | ジョブのキーパスは完了ですが、DetailStatusなどの情報は生成されません。 |
タスクキー-パスが終了しました | ジョブのキーパスが完了しました。 |
インスタンスキーパスが終了しました | インスタンスのキーパスが完了しました。 |
タスクの実行が完了しました | ジョブが完了し、DetailStatusが生成されます。 |
インスタンスの実行が完了しました | ジョブが完了しました。 |
Execution failed | ジョブの実行に失敗しました。 |