Ao enviar um job SQL, Spark ou MapReduce no MaxCompute, o sistema o converte em uma instância do MaxCompute. Cada instância possui um ID exclusivo e permanentemente válido. Use os comandos deste tópico para listar instâncias, verificar seu status, interromper um job em execução e recuperar detalhes e logs do job.
Pré-requisitos
Antes de começar, verifique se você tem:
Permissões de leitura ou gravação nas instâncias (varia conforme a operação — consulte a tabela abaixo)
-
Acesso a uma das seguintes plataformas:
Visão geral das operações
|
Operação |
Comando |
Permissão necessária |
|
|
Permissão de leitura nas instâncias ou permissão LIST nos objetos do projeto |
|
|
|
Permissão de leitura nas instâncias |
|
|
|
Permissão de leitura nas instâncias ou permissão LIST nos objetos do projeto |
|
|
|
Permissão de gravação nas instâncias |
|
|
|
Permissão de leitura nas instâncias |
|
|
|
Listar instâncias
Lista as instâncias enviadas por você ou por todos os usuários em um projeto, com opções de filtro por intervalo de datas, projeto e quantidade.
Sintaxe
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];
Estas instruções são equivalentes: show p, show proc, show processlist, show instances, ls instances e list instances.
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Não |
Início do intervalo de datas (inclusivo). Formato: |
|
|
Não |
Fim do intervalo de datas (exclusivo — instâncias enviadas neste dia não são incluídas). Formato: |
|
|
Não |
Projeto a consultar. É necessário ter permissão para visualizar instâncias nesse projeto. O padrão é o projeto atual. |
|
|
Não |
Quantidade de instâncias mais recentes a retornar. |
|
|
Não |
Retorna instâncias de todos os usuários no projeto. Sem esse parâmetro, apenas suas próprias instâncias são retornadas. |
Comportamento padrão: Sem o uso de -limit, até 50 instâncias são retornadas.
Campos de saída
|
Campo |
Descrição |
|
StartTime |
Horário de envio da instância (precisão em segundos). |
|
RunTime |
Duração da execução (em segundos). |
|
Status |
Estado atual da instância. |
|
InstanceID |
ID exclusivo da instância. Sempre preenchido. |
|
Owner |
Conta Alibaba Cloud que enviou a instância. |
|
Query |
Instrução SQL associada à instância. Em branco para instâncias não SQL (como alguns jobs internos do sistema). |
Exemplos
Liste todas as instâncias enviadas hoje:
show p;
Saída de exemplo:
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
Liste suas instâncias de um intervalo de datas específico, limitado a 10 resultados:
show instances from 2021-09-14 to 2021-09-15 -limit 10;
Saída de exemplo:
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
Liste instâncias de todos os usuários em outro projeto, filtradas por intervalo de datas e limitadas a 10 resultados:
ls instances from 2021-09-14 to 2021-09-15 -p doc_test_dev -all -limit 10;
Saída de exemplo:
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
Liste todas as instâncias de usuários em outro projeto hoje, limitado a 5 resultados:
show p -p doc_test_dev -all 5;
Saída de exemplo:
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
Consultar status da instância
Retorna o status atual de uma instância específica.
Sintaxe
status <instance_id>;
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
ID exclusivo da instância a consultar. |
Estados da instância
|
Estado |
Significado |
|
|
A instância está em execução. |
|
|
A instância está na fila aguardando execução. |
|
|
A instância foi concluída com sucesso. |
|
|
O job falhou. Nenhuma alteração foi feita na tabela de destino. |
|
|
A instância foi parada (por exemplo, pelo comando |
|
|
O job terminou (inclui |
Se a instância pertencer a outro usuário, este comando retornará um erro.
Exemplo
-- Query the status of instance 20131225123xxxxxxxxxxxxxxx.
status 20131225123xxxxxxxxxxxxxxx;
Saída:
Success
Visualize instâncias em execução
Lista as instâncias em execução em um projeto, incluindo uso de recursos e posição na fila.
Sintaxe
-- List running instances submitted by you in the current project.
top instance;
-- List all or a limited number of running instances in the current project.
top instance [-all] [-limit <number>];
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Não |
Retorna instâncias em execução de todos os usuários no projeto. Padrão: até 50 instâncias. |
|
|
Não |
Retorna o número especificado de instâncias em execução. |
Campos de saída: InstanceID, Owner, Type, StartTime, Progress, Status, Priority, RuntimeUsage (CPU/MEM), totalUsage (CPU/MEM), QueueingInfo (POS/LEN).
Exemplo
-- Return the first five running instances in the current project.
top instance -limit 5;
Saída:
QueueingInstances: 0 total.
Parar uma instância
Interrompe uma instância específica no estado Running.
Sintaxe
kill <instance_id>;
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
ID exclusivo da instância a parar. A instância deve estar no estado |
O comando kill é assíncrono. Ele retorna imediatamente após o sistema aceitar a solicitação, mas o job distribuído pode continuar em execução. Execute status <instance_id> para confirme que a instância parou antes de prosseguir.
Exemplo
-- Stop instance 20131225123xxxxxxxxxxxxxxx.
kill 20131225123xxxxxxxxxxxxxxx;
Obter detalhes do job
Retorna detalhes do job de uma instância específica, incluindo a consulta SQL, proprietário, horários de início e término e status.
Sintaxe
desc instance <instance_id>;
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
ID exclusivo da instância. |
Exemplo
-- Get job details for instance 20150715xxxxxxxxxxxxxxx.
desc instance 20150715xxxxxxxxxxxxxxx;
Saída:
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;
Obter logs do job
Retorna o log operacional de uma instância específica, incluindo a URL do Logview, custo de recursos, contagem de registros de entrada/saída e detalhes dos estágios Map/Reduce.
Sintaxe
wait <instance_id>;
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
ID exclusivo da instância. |
O Logview só está acessível para instâncias criadas nos últimos três dias. Para instâncias mais antigas, recupere a URL do Logview nos logs correspondentes.
Exemplo
-- Get the operational log for instance 20170925161122379gxxxxxx.
wait 20170925161122379gxxxxxx;
Saída:
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)