全部產品
Search
文件中心

MaxCompute:執行個體操作

更新時間:Jun 19, 2024

通過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 pshow procshow processlistshow instancesls instanceslist instances命令等效。

  • 參數說明
    • startdateenddate:可選。返回從起始時間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個執行個體資訊。

  • 使用樣本
    • 樣本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:必填。執行個體的唯一識別碼,指定查詢哪個執行個體狀態。

  • 返回結果
    執行個體有以下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)