通过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)