通過MaxCompute提交的SQL、Spark和MapReduce等作業會實例化,以MaxCompute實例(Instance)的形式存在。本文為您介紹如何查看指定的實例信息和實例狀態、停止實例以及獲得實例運行日志信息等常用實例操作。
類型 | 功能 | 角色 | 操作入口 |
---|---|---|---|
查看實例信息 | 查看實例信息。 | 具備查看實例權限(Read)的用戶或具備項目查看對象列表權限(List)的用戶。 | 本文中的命令您可以在如下工具平臺執行: |
查看實例狀態 | 查看指定實例的狀態。 | 具備查看實例權限(Read)的用戶。 | |
查看正在執行的實例信息 | 查看項目中正在執行的實例信息。 | 具備查看實例權限(Read)的用戶或具備項目查看對象列表權限(List)的用戶。 | |
停止實例 | 停止指定的處于Running狀態的實例。 | 具備更新實例權限(Write)的用戶。 | |
獲取實例對應的作業信息 | 根據具體的實例ID獲取作業信息。 | 具備查看實例權限(Read)的用戶。 | |
獲取實例對應的作業運行日志信息 | 根據具體的實例ID獲取作業的運行日志信息。 |
查看實例信息
查看實例信息,包括StartTime(時間精確到秒)、RunTime(s)、Status(實例狀態)、InstanceID、實例所有者、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當天提交的實例信息。格式必須為
yyyy-mm-dd
,精度為天。如果不指定,則返回用戶當天提交的實例。 - project_name:可選。待查詢實例所屬的MaxCompute項目名稱,需要具備目標MaxCompute項目的查看實例權限。如果不指定,則表示查詢當前所處的MaxCompute項目。
- number:可選。指定返回實例的數量。
- 依照時間排序,返回提交時間距離當前時間最近的number個實例信息。如果不指定number,則返回滿足要求的所有實例信息。
-limit <number>
與number
二者等效。 - -all:可選。返回MaxCompute項目中所有成員執行過的實例。如果不指定,則表示返回MaxCompute項目中當前用戶執行過的實例。
不配置number時,默認最大返回50條;如果配置了number,返回number個實例信息。
- startdate、enddate:可選。返回從起始時間startdate到結束時間enddate期間用戶提交的實例信息,startdate要小于enddate。不包含enddate當天提交的實例信息。格式必須為
- 使用示例
- 示例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
- 示例1:查看當前MaxCompute項目下當前用戶當天執行的所有實例信息。命令示例如下。
查看實例狀態
查看指定實例的狀態。如果此實例并非當前用戶創建,則返回報錯。
- 命令格式
status <instance_id>;
- 參數說明
instance_id:必填。實例的唯一標識符,指定查詢哪個實例狀態。
- 返回結果
實例有以下6種狀態:
- Running:正在運行。
- Success:成功結束。
- Waiting:等待中。
- Failed:作業失敗,但是尚未改寫目標表數據。
- Cancelled:被取消。
- Terminated:作業已執行結束。
- 使用示例
返回結果如下。--查看ID為20131225123xxxxxxxxxxxxxxx的實例狀態。 status 20131225123xxxxxxxxxxxxxxx;
Success
查看正在執行的實例信息
查看項目中正在執行的實例信息,包括InstanceID、Owner、Type、StartTime、Progress、Status、Priority、RuntimeUsage(CPU/MEM)、totalUsage(CPU/MEM)、QueueingInfo(POS/LEN)等。
- 命令格式
--查看當前項目中當前賬號所提交的正在執行的實例信息。 top instance; --返回當前項目下所有或指定數量的正在執行的實例信息。 top instance [-all][-limit <number>];
- 參數說明
- -all:可選。返回當前項目下所有正在執行的作業,默認最大返回50條。
- -limit number:可選。返回當前項目下指定數量的正在執行的作業。
- 使用示例
返回結果如下。--返回當前項目下前5條正在執行的實例信息。 top instance -limit 5;
QueueingInstances: 0 total.
停止實例
STATUS
命令,查看此Instance的狀態后才可以確定是否已停止實例。
- 命令格式
kill <instance_id>;
- 參數說明
instance_id:實例的唯一標識符。狀態必須是Running的實例,否則返回異常。
- 使用示例
--停止ID為20131225123xxxxxxxxxxxxxxx的實例。 kill 20131225123xxxxxxxxxxxxxxx;
獲取實例對應的作業信息
根據具體的實例ID獲取作業信息,包括具體的SQL、Owner、StartTime、EndTime和Status等信息。
- 命令格式
desc instance <instance_id>;
- 參數說明
instance_id:實例的唯一標識符。
- 使用示例
返回結果如下。--查詢ID為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;
獲取實例對應的作業運行日志信息
- 命令格式
wait <instance_id>;
- 參數說明
instance_id:實例的唯一標識符。
- 使用示例
返回結果如下。--查看實例ID為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)