MaxComputeコンソールで送信されたSQL、Spark、およびMapReduceジョブは、MaxComputeインスタンスに変換されます。 このトピックでは、指定されたインスタンスの情報とステータスの照会、インスタンスの停止、インスタンスの操作ログの取得など、インスタンスに対して実行できる一般的な操作について説明します。
各MaxComputeインスタンスには一意のIDがあります。 インスタンスIDは永続的に有効です。 次の表に、インスタンス操作に使用される一般的なステートメントを示します。
API 操作 | 説明 | ロール | プラットフォーム |
インスタンス情報を表示します。 | インスタンスに対する読み取り権限またはプロジェクト内のオブジェクトに対するLIST権限を持つユーザー | このトピックで説明されているステートメントは、次のプラットフォームで実行できます。 | |
指定されたインスタンスのステータスを照会します。 | インスタンスの読み取り権限を持つユーザー | ||
プロジェクトで実行されているインスタンスに関する情報を表示します。 | インスタンスに対する読み取り権限またはプロジェクト内のオブジェクトに対するLIST権限を持つユーザー | ||
実行中状態の指定されたインスタンスを停止します。 | インスタンスに対する書き込み権限を持つユーザー | ||
指定されたインスタンスIDに基づいてジョブ情報を取得します。 | インスタンスの読み取り権限を持つユーザー | ||
指定したインスタンスIDに基づいてジョブの操作ログを取得します。 |
インスタンス情報の表示
インスタンス情報を表示します。 情報には、StartTime (秒単位) 、RunTime (秒単位) 、Status、InstanceID、Owner、およびQueryステートメントが含まれます。
構文
show p|proc|processlist|instances [from <startdate>] [to <enddate>] [-p <project_name>] [-limit <number> | <number>] [-all]; ls|list instances [from <startdate>] [to <enddate>] [-p <project_name>] [-limit <number> | <number>] [-all];
show p
、show proc
、show processlist
、show instances
、ls instances
、およびlist instances
と同等のステートメントです。パラメーター
startdateおよびenddate: オプションです。 startdateからenddateまでの期間内にユーザーによって送信されたインスタンス情報が返されます。 startdateパラメーターで指定する日付は、enddateパラメーターで指定する日付より前である必要があります。 enddateで指定された日に送信されたインスタンス情報は含まれません。 2つのパラメーターの値は、
yyyy-mm-dd
形式である必要があります。 パラメーターを設定しない場合、当日に送信されたインスタンス情報が返されます。project_name: オプションです。 クエリするインスタンスが属するMaxComputeプロジェクトの名前。 MaxComputeプロジェクトのインスタンスを表示する権限が必要です。 このパラメーターを設定しない場合、現在のMaxComputeプロジェクトのインスタンスが照会されます。
number: オプション。 返すインスタンスの数。
このパラメーターを設定すると、現在時刻に最も近い時刻に送信されたN個のインスタンスに関する情報が時系列で返されます。 Nはnumberパラメーターで指定します。 このパラメーターを設定しない場合、特定の要件を満たすインスタンスに関する情報が返されます。
-limit <number>
とnumber
は同等です。-all: オプション。 MaxComputeプロジェクトのメンバーによって実行されるすべてのインスタンスに関する情報が返されます。 このパラメーターを設定しない場合、MaxComputeプロジェクトで現在のユーザーによって実行されているインスタンスに関する情報が返されます。
numberパラメーターが指定されていない場合、デフォルトで最大50個のインスタンスに関する情報が返されます。 numberパラメーターが設定されている場合、N個のインスタンスに関する情報が返されます。 Nはnumberパラメーターで指定します。
例
例1: 当日に現在のMaxComputeプロジェクトで現在のユーザーによって実行されているすべてのインスタンスに関する情報を表示します。 例:
show p;
次の応答が返されます。
StartTime RunTime Status InstanceID Owner Query 2021-09-14 11:43:04 0s Success 20210914**************3rw2 ALIYUN$****@test.aliyunid.com 2021-09-14 11:43:05 1s Success 20210914**************5t32 ALIYUN$****@test.aliyunid.com select date_sub(datetime '2005-03-01 00:00:00', 1); 2021-09-14 11:58:13 0s Success 20210914**************5pr2 ALIYUN$****@test.aliyunid.com 2021-09-14 11:58:15 1s Success 20210914**************5qgr ALIYUN$****@test.aliyunid.com select date_sub(date '2005-02-28', -1); 2021-09-14 12:02:15 1s Success 20210914**************h8o7 ALIYUN$****@test.aliyunid.com select date_sub('2008-03-01 00:00:00', 2); 2021-09-14 12:02:15 0s Success 20210914**************5t32 ALIYUN$****@test.aliyunid.com 2021-09-14 12:02:31 0s Success 20210914**************5pr2 ALIYUN$****@test.aliyunid.com 2021-09-14 12:02:32 0s Success 20210914**************euq2 ALIYUN$****@test.aliyunid.com select date_sub('2005-03-01 00:00:00', 2); 2021-09-14 13:35:42 0s Success 20210914**************1ms2 ALIYUN$****@test.aliyunid.com 2021-09-14 13:35:43 0s Success 20210914**************j8o7 ALIYUN$****@test.aliyunid.com select date_sub(getdate(),1); 2021-09-14 13:40:40 1s Success 20210914**************h3wz ALIYUN$****@test.aliyunid.com select date_sub(getdate(),0); 2021-09-14 13:40:40 0s Success 20210914**************9nm7 ALIYUN$****@test.aliyunid.com 12 instances
例2: 指定された期間内に現在のMaxComputeプロジェクトで現在のユーザーによって実行されたインスタンスに関する情報を表示し、情報を照会するインスタンスの数を指定します。 例:
show instances from 2021-09-14 to 2021-09-15 -limit 10;
次の応答が返されます。
StartTime RunTime Status InstanceID Owner Query 2021-09-14 11:58:13 0s Success 20210914**************5pr2 ALIYUN$****@test.aliyunid.com 2021-09-14 11:58:15 1s Success 20210914**************5qgr ALIYUN$****@test.aliyunid.com select date_sub(date '2005-02-28', -1); 2021-09-14 12:02:15 1s Success 20210914**************h8o7 ALIYUN$****@test.aliyunid.com select date_sub('2008-03-01 00:00:00', 2); 2021-09-14 12:02:15 0s Success 20210914**************5t32 ALIYUN$****@test.aliyunid.com 2021-09-14 12:02:31 0s Success 20210914**************5pr2 ALIYUN$****@test.aliyunid.com 2021-09-14 12:02:32 0s Success 20210914**************euq2 ALIYUN$****@test.aliyunid.com select date_sub('2005-03-01 00:00:00', 2); 2021-09-14 13:35:42 0s Success 20210914**************1ms2 ALIYUN$****@test.aliyunid.com 2021-09-14 13:35:43 0s Success 20210914**************j8o7 ALIYUN$****@test.aliyunid.com select date_sub(getdate(),1); 2021-09-14 13:40:40 1s Success 20210914**************h3wz ALIYUN$****@test.aliyunid.com select date_sub(getdate(),0); 2021-09-14 13:40:40 0s Success 20210914**************9nm7 ALIYUN$****@test.aliyunid.com 10 instances
例3: 指定された期間内に別のMaxComputeプロジェクト内のすべてのユーザーによって実行されたインスタンスに関する情報を表示し、情報を照会するインスタンスの数を指定します。 例:
ls instances from 2021-09-14 to 2021-09-15 -p doc_test_dev -all -limit 10;
次の応答が返されます。
StartTime RunTime Status InstanceID Owner Query 2021-09-14 11:59:16 0s Success 20210914**************6pr3 ALIYUN$****@test.aliyunid.com 2021-09-14 11:59:20 1s Success 20210914**************6qgr ALIYUN$****@test.aliyunid.com select date_sub(date '2007-02-26', -1); 2021-09-14 12:02:19 1s Success 20210914**************h8o7 ALIYUN$****@test.aliyunid.com select date_sub('2009-03-01 00:00:00', 2); 2021-09-14 12:02:25 0s Success 20210914**************7t42 ALIYUN$****@test.aliyunid.com 2021-09-14 12:02:37 0s Success 20210914**************7pr2 ALIYUN$****@test.aliyunid.com 2021-09-14 12:02:40 0s Success 20210914**************emq2 ALIYUN$****@test.aliyunid.com select date_sub('2015-03-01 00:00:00', 2); 2021-09-14 13:35:42 0s Success 20210914**************1ms2 ALIYUN$****@test.aliyunid.com 2021-09-14 13:35:43 0s Success 20210914**************68o7 ALIYUN$kiki select date_sub(getdate(),1); 2021-09-14 13:45:40 1s Success 20210914**************73wz ALIYUN$kiki select date_sub(getdate(),0); 2021-09-14 13:45:45 0s Success 20210914**************9nm7 ALIYUN$dreak 10 instances
例4: 当日に別のMaxComputeプロジェクト内のすべてのユーザーによって実行されているインスタンスに関する情報を表示し、情報を照会するインスタンスの数を指定します。 例:
show p -p doc_test_dev -all 5;
次の応答が返されます。
StartTime RunTime Status InstanceID Owner Query 2021-09-14 12:02:40 0s Success 20210914**************emq2 ALIYUN$****@test.aliyunid.com select date_sub('2015-03-01 00:00:00', 2); 2021-09-14 13:35:42 0s Success 20210914**************1ms2 ALIYUN$****@test.aliyunid.com 2021-09-14 13:35:43 0s Success 20210914**************68o7 ALIYUN$kiki select date_sub(getdate(),1); 2021-09-14 13:45:40 1s Success 20210914**************73wz ALIYUN$kiki select date_sub(getdate(),0); 2021-09-14 13:45:45 0s Success 20210914**************9nm7 ALIYUN$dreak 5 instances
インスタンスのステータスの照会
指定されたインスタンスのステータスを照会します。 インスタンスが別のユーザーによって作成された場合、このインスタンスのステータスを照会するとエラーが返されます。
構文
status <instance_id>;
パラメーター
instance_id: 必須です。 ステータスを照会するインスタンスのID。 各インスタンスIDは一意です。
Output
インスタンスは、次のいずれかの状態になります。
Running: インスタンスは実行中です。
Success: インスタンス操作が成功しました。
Waiting: インスタンスの実行を待機しています。
Failed: ジョブは失敗しますが、宛先テーブルのデータは変更されません。
キャンセル: インスタンスは停止しています。
Terminated: ジョブが完了しました。
例:
-- Query the status of the instance whose ID is 20131225123xxxxxxxxxxxxxxx. status 20131225123xxxxxxxxxxxxxxx;
次の応答が返されます。
Success
実行中のインスタンスに関する情報の表示
プロジェクトで実行されているインスタンスに関する情報を表示します。 情報は、InstanceID、Owner、Type、StartTime、Progress、Status、Priority、RuntimeUsage (CPU/MEM) 、totalUsage (CPU/MEM) 、およびQueueingInfo (POS/LEN) を含む。
構文
-- View the information about the running instances that are submitted by the current account in the current project. top instance; -- Return the information about all or a specified number of running instances in the current project. top instance [-all][-limit <number>];
パラメーター
-all: オプション。 現在のプロジェクトで実行されているすべてのジョブに関する情報が返されます。 デフォルトでは、最大50個のジョブに関する情報を返すことができます。
-limit number: オプション。 現在のプロジェクトで実行されている指定された数のジョブに関する情報が返されます。
例:
-- Return the information about the first five instances that are running in the current project. top instance -limit 5;
次の応答が返されます。
QueueingInstances: 0 total.
インスタンスの停止
実行中状態の指定されたインスタンスを停止します。
このステートメントの実行は非同期プロセスです。 システムがリクエストを受け入れて結果を返した後、分散ジョブが停止したことを意味するものではありません。 代わりに、システムがリクエストを受信したことを意味します。 インスタンスのステータスを確認するには、STATUS
ステートメントを実行する必要があります。
構文
kill <instance_id>;
パラメーター
instance_id: インスタンスのid。 各インスタンスIDは一意です。 実行中のインスタンスのみ指定できます。 それ以外の場合は、エラーが返されます。
例:
-- Stop the instance whose ID is 20131225123xxxxxxxxxxxxxxx. kill 20131225123xxxxxxxxxxxxxxx;
インスタンスに関するジョブ情報の取得
指定されたインスタンスIDに基づいてジョブ情報を取得します。 情報には、SQL、Owner、StartTime、EndTime、およびStatusが含まれます。
構文
desc instance <instance_id>;
パラメーター
instance_id: インスタンスのid。 各インスタンスIDは一意です。
例:
-- Query job information about the instance whose ID is 20150715xxxxxxxxxxxxxxx. desc instance 20150715xxxxxxxxxxxxxxx;
次の応答が返されます。
ID 20150715xxxxxxxxxxxxxxx Owner ALIYUN$XXXXXX@alibaba-inc.com StartTime 2015-07-15 18:34:41 EndTime 2015-07-15 18:34:42 Status Terminated console_select_query_task_1436956481295 Success Query select * from mj_test;
インスタンス内のジョブの操作ログの取得
指定したインスタンスIDに基づいてジョブの操作ログを取得します。 ログには、LogviewのURLが含まれます。 Logviewでジョブのログの詳細を表示できます。
Logviewは、過去3日間に作成されたインスタンスに対してのみ開くことができます。 3日以上作成されたインスタンスの場合、ログからLogview URLを取得できます。
構文
wait <instance_id>;
パラメーター
instance_id: インスタンスのid。 各インスタンスIDは一意です。
例:
-- Query the operational log of jobs for the instance whose ID is 20170925161122379gxxxxxx. wait 20170925161122379gxxxxxx;
次の応答が返されます。
ID = 20170925161122379g3xxxxxx Log view: http://logview.odps.aliyun.com/logview/?h=http://service.odps.aliyun.com/api&p=alian&i=201709251611223xxxxxxdqp&token=XXXXXXvbiI6IjEifQ== Job Queueing... Summary: resource cost: cpu 0.05 Core * Min, memory 0.05 GB * Min inputs: alian.bank_data: 41187 (588232 bytes) outputs: alian.result_table: 8 (640 bytes) Job run time: 2.000 Job run mode: service job Job run engine: execution engine M1: instance count: 1 run time: 1.000 instance time: min: 1.000, max: 1.000, avg: 1.000 input records: TableScan_REL5213301: 41187 (min: 41187, max: 41187, avg: 41187 ) output records: StreamLineWrite_REL5213305: 8 (min: 8, max: 8, avg: 8) R2_1: instance count: 1 run time: 2.000 instance time: min: 2.000, max: 2.000, avg: 2.000 input records: StreamLineRead_REL5213306: 8 (min: 8, max: 8, avg: 8) output records: TableSink_REL5213309: 8 (min: 8, max: 8, avg: 8)