通過MaxCompute提交的SQL、Spark和MapReduce等作業會執行個體化,以MaxCompute執行個體(Instance)的形式存在。本文為您介紹如何查看指定的執行個體資訊和執行個體狀態、停止執行個體以及獲得執行個體作業記錄資訊等常用執行個體操作。
MaxCompute執行個體有對應的執行個體ID,執行個體ID永久有效,且全域唯一。執行個體操作常用命令如下。
類型 | 功能 | 角色 | 操作入口 |
查看執行個體資訊 | 查看執行個體資訊。 | 具備查看執行個體許可權(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.
停止執行個體
停止指定的執行個體,執行個體的狀態必須為Running。
說明 此命令是一個非同步過程,在系統接受此請求並返回結果後,並不意味著分布式的作業已經停止,只能代表系統已接收到請求,因此還要執行
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;
擷取執行個體對應的作業作業記錄資訊
根據具體的執行個體ID擷取作業的作業記錄資訊,包含Logview連結。您可以通過查看Logview獲得作業的詳細日誌。
說明 擷取最近3天Instance對應的Logview可正常開啟。超過3天的Instance對應Logview可擷取,但因為到期被清除而無法開啟。
- 命令格式
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)