Lorsque vous soumettez un job SQL, Spark ou MapReduce dans MaxCompute, le système le convertit en une instance MaxCompute. Chaque instance possède un ID unique et permanent. Utilisez les commandes décrites dans cette rubrique pour répertorier les instances, vérifier leur état, arrêter un job en cours d'exécution et récupérer les détails ainsi que les journaux des jobs.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Des autorisations de lecture ou d'écriture sur les instances (varient selon l'opération — consultez le tableau ci-dessous)
-
Un accès à l'une des plateformes suivantes :
Aperçu des opérations
| Opération | Commande | Autorisation requise |
|---|---|---|
| Répertorier les instances | show instances / ls instances |
Autorisation de lecture sur les instances, ou autorisation LIST sur les objets du projet |
| Vérifier l'état d'une instance | status |
Autorisation de lecture sur les instances |
| Afficher les instances en cours d'exécution | top instance |
Autorisation de lecture sur les instances, ou autorisation LIST sur les objets du projet |
| Arrêter une instance | kill |
Autorisation d'écriture sur les instances |
| Obtenir les détails du job | desc instance |
Autorisation de lecture sur les instances |
| Obtenir les journaux du job | wait |
Répertorier les instances
Cette commande liste les instances soumises par vous-même ou par tous les utilisateurs d'un projet. Vous pouvez filtrer les résultats par plage de dates, par projet et limiter le nombre d'instances retournées.
Syntaxe
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];
Les instructions suivantes sont équivalentes : show p, show proc, show processlist, show instances, ls instances et list instances.
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
startdate |
Non | Début de la plage de dates (inclus). Format : yyyy-mm-dd. Doit être antérieur à enddate. Par défaut, la valeur est le jour actuel. |
enddate |
Non | Fin de la plage de dates (exclus — les instances soumises ce jour ne sont pas incluses). Format : yyyy-mm-dd. Par défaut, la valeur est le jour actuel. |
-p project_name |
Non | Projet à interroger. Vous devez disposer des autorisations nécessaires pour afficher les instances de ce projet. Par défaut, le projet actuel est utilisé. |
-limit number |
Non | Nombre d'instances les plus récentes à retourner. Les options -limit <number> et <number> sont équivalentes. |
-all |
Non | Retourne les instances de tous les utilisateurs du projet. Sans cet indicateur, seules vos propres instances sont retournées. |
Comportement par défaut : Sans l'option -limit, un maximum de 50 instances est retourné.
Champs de sortie
| Champ | Description |
|---|---|
| StartTime | Heure de soumission de l'instance (précision à la seconde près). |
| RunTime | Durée d'exécution (en secondes). |
| Status | État actuel de l'instance. |
| InstanceID | ID unique de l'instance. Toujours renseigné. |
| Owner | Compte Alibaba Cloud ayant soumis l'instance. |
| Query | Instruction SQL associée à l'instance. Vide pour les instances non SQL (comme certains jobs système internes). |
Exemples
Listez toutes les instances que vous avez soumises aujourd'hui :
show p;
Exemple de sortie :
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
Listez vos instances sur une plage de dates spécifique, limitées à 10 résultats :
show instances from 2021-09-14 to 2021-09-15 -limit 10;
Exemple de sortie :
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
Listez les instances de tous les utilisateurs d'un autre projet, filtrées par plage de dates et limitées à 10 résultats :
ls instances from 2021-09-14 to 2021-09-15 -p doc_test_dev -all -limit 10;
Exemple de sortie :
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
Listez les instances de tous les utilisateurs d'un autre projet pour la journée actuelle, limitées à 5 résultats :
show p -p doc_test_dev -all 5;
Exemple de sortie :
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
Vérifier l'état d'une instance
Renvoie l'état actuel d'une instance spécifique.
Syntaxe
status <instance_id>;
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
instance_id |
Oui | ID unique de l'instance à interroger. |
États des instances
| État | Signification |
|---|---|
Running |
L'instance est en cours d'exécution. |
Waiting |
L'instance est en file d'attente et attend d'être exécutée. |
Success |
L'instance s'est terminée avec succès. |
Failed |
Le job a échoué. Aucune modification n'a été apportée à la table de destination. |
Cancelled |
L'instance a été arrêtée (par exemple, via la commande kill). |
Terminated |
Le job est terminé (inclut l'état Success et certains états d'arrêt). |
Si l'instance appartient à un autre utilisateur, cette commande renvoie une erreur.
Exemple
-- Query the status of instance 20131225123xxxxxxxxxxxxxxx.
status 20131225123xxxxxxxxxxxxxxx;
Sortie :
Success
Afficher les instances en cours d'exécution
Liste les instances actuellement en cours d'exécution dans un projet, y compris l'utilisation des ressources et la position dans la file d'attente.
Syntaxe
-- 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>];
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
-all |
Non | Retourne les instances en cours d'exécution de tous les utilisateurs du projet. Par défaut : jusqu'à 50 instances. |
-limit number |
Non | Retourne le nombre spécifié d'instances en cours d'exécution. |
Champs de sortie : InstanceID, Owner, Type, StartTime, Progress, Status, Priority, RuntimeUsage (CPU/MEM), totalUsage (CPU/MEM), QueueingInfo (POS/LEN).
Exemple
-- Return the first five running instances in the current project.
top instance -limit 5;
Sortie :
QueueingInstances: 0 total.
Arrêter une instance
Arrête une instance spécifique dont l'état est Running.
Syntaxe
kill <instance_id>;
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
instance_id |
Oui | ID unique de l'instance à arrêter. L'instance doit être dans l'état Running ; sinon, une erreur est renvoyée. |
La commande kill est asynchrone. Elle retourne immédiatement après que le système a accepté la demande, mais le job distribué peut encore être en cours d'exécution. Exécutez status <instance_id> pour confirmer que l'instance s'est bien arrêtée avant de poursuivre.
Exemple
-- Stop instance 20131225123xxxxxxxxxxxxxxx.
kill 20131225123xxxxxxxxxxxxxxx;
Obtenir les détails du job
Renvoie les détails d'un job pour une instance spécifique, notamment la requête SQL, le propriétaire, les heures de début et de fin, ainsi que l'état.
Syntaxe
desc instance <instance_id>;
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
instance_id |
Oui | ID unique de l'instance. |
Exemple
-- Get job details for instance 20150715xxxxxxxxxxxxxxx.
desc instance 20150715xxxxxxxxxxxxxxx;
Sortie :
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;
Obtenir les journaux du job
Renvoie le journal des opérations d'une instance spécifique, incluant l'URL Logview, le coût des ressources, le nombre d'enregistrements en entrée/sortie et les détails des étapes Map/Reduce.
Syntaxe
wait <instance_id>;
Paramètres
| Paramètre | Obligatoire | Description |
|---|---|---|
instance_id |
Oui | ID unique de l'instance. |
Logview n'est accessible que pour les instances créées au cours des trois derniers jours. Pour les instances plus anciennes, récupérez l'URL Logview à partir de leurs journaux.
Exemple
-- Get the operational log for instance 20170925161122379gxxxxxx.
wait 20170925161122379gxxxxxx;
Sortie :
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)