Tous les produits
Search
Centre de documentation

MaxCompute:Utilisation des quotas pour les ressources de calcul

Dernière mise à jour :Aug 10, 2026

Un groupe de quotas (quota) est un ensemble de ressources de calcul dans MaxCompute qui fournit le processeur et la mémoire nécessaires à l'exécution de vos tâches de calcul. MaxCompute vous permet d'affecter les tâches à un quota adapté en fonction de leurs besoins en ressources, favorisant ainsi une utilisation efficace des ressources.

Contexte

Vous pouvez utiliser les quotas MaxCompute de plusieurs manières :

  • Associez un projet à un quota de calcul par défaut. Les tâches soumises dans ce projet s'exécutent au sein de ce quota.

  • Spécifiez un quota de calcul au niveau de la tâche (use quota). Cette fonctionnalité vous permet d'affecter les tâches issues d'un même projet à différents quotas, y compris les quotas par abonnement et ceux facturés à l'utilisation. Un quota spécifié au niveau de la tâche prévaut sur le quota par défaut du projet.

  • Configurez des règles pour un quota. Cela permet d'ordonnancer vers ce quota les tâches qui répondent aux conditions définies par la règle.

Définition d'un quota par défaut pour un projet

Vous pouvez définir un quota de calcul par défaut pour un projet. Les tâches lancées depuis ce projet utilisent automatiquement le quota par défaut pour le calcul. Vous pouvez associer un projet à un quota par défaut lors de sa création. Il est également possible de modifier le quota par défaut d'un projet existant via la console. Pour plus d'informations, consultez la rubrique Gestion des projets.

Spécification d'un quota au niveau de la tâche

Pour spécifier un quota au niveau de la tâche, ajoutez une commande avant la requête de la tâche. Cette fonctionnalité vérifie si le propriétaire de la tâche dispose des autorisations nécessaires pour utiliser le quota spécifié.

  1. Création d'un quota

    Pour savoir comment créer un quota dans la nouvelle console, consultez la rubrique Configuration des quotas.

    Remarque

    Nous vous recommandons d'utiliser une combinaison de lettres et de chiffres pour le nom du quota. Les noms de quotas en chinois existants restent utilisables.

  2. Octroi des autorisations

    Par défaut, aucun compte (y compris les comptes Alibaba Cloud) ni aucun rôle ne possède l'autorisation de spécifier un quota au niveau de la tâche. Vous devez accorder cette autorisation explicitement.

    1. Création d'un rôle

      1. Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.

      2. Dans le volet de navigation de gauche, choisissez Manage Configurations > Tenants .

      3. Sur la page Tenants, cliquez sur l'onglet Roles.

      4. Sous l'onglet Roles, cliquez sur Add Role. Dans la boîte de dialogue Add Role, saisissez un Role Name personnalisé, indiquez le contenu de la Policy Content, puis cliquez sur OK.

        {
            "Statement": [{
                    "Action": [
                        "odps:List",
                        "odps:Usage"],
                    "Effect": "Allow",
                    "Resource": ["acs:odps:*:regions/*/quotas/*"]}],
            "Version": "1"
        }
    2. Attribution du rôle au compte devant spécifier un quota au niveau de la tâche

      Votre compte Alibaba Cloud ou un utilisateur RAM disposant de l'autorisation Super_Administrator peut octroyer ces permissions.

      Le processus d'autorisation varie selon le type de compte.

      Autorisation des comptes Alibaba Cloud

      Exécutez les commandes suivantes pour autoriser un compte Alibaba Cloud :

      -- Add the Alibaba Cloud account to the tenant and grant a tenant role to the account.
      ADD TENANT USER <Aliyun$xxxx>;
      GRANT TENANT ROLE <role_name> TO USER <Aliyun$xxxx>;
      
      -- View the permissions of a tenant role or user.
      SHOW GRANTS FOR TENANT ROLE <role_name>;
      SHOW GRANTS FOR TENANT USER <user_name>;
      SHOW PRINCIPALS FOR TENANT [ROLE] <role_name>;

      Autorisation des utilisateurs RAM

      Suivez les étapes ci-dessous pour autoriser un utilisateur RAM :

      1. Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.

      2. Dans le volet de navigation de gauche, choisissez Manage Configurations > Tenants .

      3. Sur la page Tenants, cliquez sur l'onglet Users.

      4. Sous l'onglet Users, repérez l'utilisateur RAM cible et cliquez sur Modify Role dans la colonne Actions.

      5. Dans la boîte de dialogue Edit Role, déplacez les rôles souhaités de la section Available Roles vers la section Added Roles, puis cliquez sur OK.

  3. Spécification du quota pour une tâche

    Ajoutez la commande suivante avant la requête de la tâche pour spécifier le quota :

    SET odps.task.wlm.quota = <quota_nick_name>; 

    Le paramètre quota_nick_name spécifie le surnom du quota. Ce paramétrage s'applique uniquement aux quotas dédiés au traitement par lots.

    • Pour une tâche Spark, vous devez ajouter la configuration spark.hadoop.odps.task.wlm.quota et définir sa valeur sur <quota_nick_name>.

    • Pour une tâche MaxCompute Query Acceleration (MCQA), tenez compte des éléments suivants :

      • Vous ne pouvez pas spécifier directement un quota interactif à l'aide de la commande précédente. Le système sélectionne automatiquement un quota interactif uniquement lorsque vous activez le mode d'accélération des requêtes. Pour plus d'informations, consultez la rubrique MaxCompute Query Acceleration (MCQA).

      • Le quota spécifié par la commande set odps.task.wlm.quota=<quota_nick_name>; sert de quota de secours. Autrement dit, si une tâche échoue lors de son exécution dans le quota interactif, elle bascule vers le quota quota_nick_name pour être exécutée, plutôt que de voir le quota d'accélération sélectionner quota_nick_name. Par conséquent, les ressources consommées par les tâches accélérées avec succès restent imputées au quota de calcul par défaut lié au projet dans lequel la tâche est exécutée.

      • Si vous ne spécifiez pas explicitement le paramètre odps.task.wlm.quota, une tâche interactive tente d'abord de basculer vers le quota défini par une règle de quota. En l'absence de règle de quota configurée, la tâche bascule vers le quota par défaut du projet.

Règles de quota

MaxCompute vous permet de configurer des règles pour un quota. Les tâches qui satisfont aux conditions de la règle peuvent être ordonnancées pour s'exécuter dans le quota correspondant.

Limites

  • Vous pouvez configurer des règles pour les quotas de niveau 2, qu'ils soient souscrits ou facturés à l'utilisation (Standard et Idle).

  • Vous pouvez configurer au maximum 10 règles par quota de niveau 2.

  • Pour chaque règle, vous pouvez saisir jusqu'à 50 objets pour les paramètres Project et Job Owner . Cela signifie qu'une règle peut s'appliquer à un maximum de 50 projets et de 50 propriétaires de tâches (UID).

  • Pour chaque règle, vous pouvez saisir au maximum cinq paires clé-valeur pour les paramètres de tâche (Job Settings).

  • Pour chaque règle, la plage de valeurs acceptée pour la priorité de la tâche est [0, 9].

Configuration des règles de quota

Toutes les règles de quota configurées sont actives. Vous pouvez supprimer les règles inutiles. Plusieurs règles entretiennent une relation logique OU. Si une tâche correspond à n'importe quelle règle d'un quota, elle est ordonnancée vers ce quota ou interdite d'y accéder, selon le mode de la règle. Vous pouvez configurer soit des règles de quota pour le traitement par lots (règles offline), soit des règles de quota interactif (règles interactives), selon vos besoins.

Remarque

Utilisez-les avec parcimonie afin d'éviter de créer trop de règles, ce qui compliquerait la maintenance ultérieure.

  1. Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.

  2. Dans le volet de navigation de gauche, choisissez Manage Configurations > Quotas .

  3. Sur la page Quotas, cliquez sur l'icône image située à gauche d'un quota de niveau 1 pour le développer et afficher la liste des quotas de niveau 2.

  4. Dans la colonne Actions du quota de niveau 2 cible, cliquez sur Rule Configuration.

  5. Dans la boîte de dialogue Quota Rule Configuration, cliquez sur Add Rule, ou bien cliquez sur Clone dans la colonne Actions d'une règle existante pour créer une nouvelle règle. Configurez les paramètres comme décrit ci-dessous.

    • Au sein d'une même règle, les conditions relatives aux multiples projets, types de tâches et paramètres de tâche (Job Settings) entretiennent une relation logique ET.

    • Une règle prend effet environ 5 minutes après son ajout.

    Cliquez pour afficher les détails des paramètres

    Paramètre

    Description de la règle de quota pour le traitement par lots

    Rule Name

    • Nom personnalisé de la règle de quota.

    • Le nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres et des traits de soulignement (_).

    Rule Mode

    Mode d'exécution de la règle de quota. Valeurs possibles :

    • NORMAL : mode normal.

      Si les caractéristiques d'une tâche correspondent à une règle de quota, la tâche est ordonnancée pour s'exécuter dans ce quota.

      • Lorsqu'une tâche correspond à une règle de quota, elle est ordonnancée pour s'exécuter dans ce quota.

      • Lorsqu'une tâche correspond simultanément à plusieurs règles de quota, elle est ordonnancée dans le quota créé le plus anciennement.

      • Lorsqu'une tâche ne correspond à aucune règle de quota, elle utilise le quota par défaut du projet, même si la tâche ne correspond pas aux règles du quota par défaut.

      • Lorsqu'un quota, tel que etl_1, est spécifié au niveau de la tâche, la tâche sera ordonnancée vers le quota etl_1, même si la tâche ne correspond pas aux règles du quota etl_1.

    • EXCLUSIVE : mode exclusif.

      Une tâche est ordonnancée vers ce quota uniquement si ses caractéristiques correspondent à cette règle. Sinon, l'utilisation de ce quota lui est interdite.

      Les exemples suivants illustrent la différence avec le mode normal :

      • Par exemple, si le quota par défaut d'un projet, etl_2, est associé à Project_2, et que etl_2 possède une règle en mode exclusif, une tâche issue de ce projet doit correspondre à la règle pour pouvoir utiliser etl_2. En cas de non-concordance, la soumission échoue. En mode normal, la tâche pourrait utiliser etl_2 et être ordonnancée vers etl_2 même sans correspondance.

      • Si vous spécifiez un quota nommé etl_3 à l'aide de la commande set odps.task.wlm.quota=etl_3 (i.e. use quota etl_3), et que etl_3 possède une règle en mode exclusif à laquelle la tâche ne correspond pas, la soumission de la tâche échouera. À l'inverse, si etl_3 ne disposait que d'une règle en mode normal, la tâche pourrait être ordonnancée vers etl_3.

    • ANTI : mode interdit.

      Si une tâche correspond à cette règle, l'utilisation de ce quota lui est interdite. La tâche est alors redirigée vers le quota de calcul par défaut de son projet. Si le quota par défaut est ce même quota interdit, la tâche est ordonnancée vers le quota disponible le plus ancien dans la région, qui peut inclure des quotas facturés à l'utilisation.

    Important

    Les règles en mode exclusif et en mode interdit ont une priorité supérieure à celles en mode normal. Si une tâche ne correspond pas à une règle en mode exclusif du Quota A ou correspond à une règle en mode interdit du Quota A, la tâche ne peut pas être ordonnancée vers le Quota A, indépendamment du fait qu'elle corresponde à une règle en mode normal du Quota A ou qu'elle lui soit affectée manuellement.

    Project

    Sélectionnez les projets auxquels la règle s'applique. Vous pouvez sélectionner jusqu'à 50 projets. Si vous laissez ce champ vide, la règle s'applique à tous les projets.

    Job Type

    Sélectionnez les types de tâches auxquels la règle s'applique.

    Valeurs possibles :

    • SQL : tâches SQL

    • SQLRT : tâches SQL MaxCompute Query Acceleration

    • SQLCost : tâches d'estimation des coûts SQL

    • LOT : tâches MapReduce

    • CUPID : tâches Spark ou Mars

    • AlgoTask : tâches d'apprentissage automatique

    • MaxFrame : tâches du moteur de calcul distribué MaxFrame

    • Graph : tâches de calcul de graphes

    Ce paramètre est vide par défaut, ce qui signifie que la règle s'applique à tous les types de tâches.

    Job Priority

    • Saisissez la priorité de tâche à laquelle la règle s'applique.

    • Saisissez une plage de priorités comprise entre 0-9. Par exemple, [0,3] correspond aux tâches ayant les priorités 0, 1, 2 et 3.

    • Si vous laissez ce champ vide, la règle s'applique à toutes les priorités de tâche.

    Job Owner (Account ID)

    • Saisissez les UID des propriétaires de tâche auxquels la règle s'applique. Plusieurs UID entretiennent une relation logique OU. Saisissez chaque UID sur une nouvelle ligne. Vous pouvez saisir jusqu'à 50 UID.

    • Pour l'UID d'un utilisateur RAM, vous devez ajouter le préfixe p4_, par exemple p4_12344566777.

    • Si vous laissez ce champ vide, la règle s'applique à tous les propriétaires de tâche.

    Job Settings

    • Saisissez les paires clé-valeur issues des paramètres de tâche (Job Settings) au format Key=Value. N'ajoutez pas de guillemets. Plusieurs paramètres entretiennent une relation logique ET. Saisissez chaque paire sur une nouvelle ligne. Vous pouvez saisir jusqu'à cinq paires.

    • Par exemple, pour exécuter toutes les tâches de remplissage de données initiées par l'ordonnanceur DataWorks dans le quota actuel, saisissez SKYNET_DAGTYPE=3 dans les paramètres de tâche (Job Settings). Pour plus d'informations, consultez la rubrique Isolation des tâches de remplissage de données.

    • Si vous laissez ce champ vide, la règle s'applique à tous les paramètres.

    Description de la règle de quota interactif

    Paramètre

    Description de la règle de quota interactif

    Rule Name

    • Nom personnalisé de la règle de quota.

    • Le nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres et des traits de soulignement (_).

    Rule Mode

    Mode d'exécution de la règle de quota. Valeurs possibles :

    • NORMAL : mode normal.

      Si les caractéristiques d'une tâche correspondent à une règle de quota, la tâche est ordonnancée pour s'exécuter dans ce quota.

      • Lorsqu'une tâche correspond à une règle de quota, elle est ordonnancée pour s'exécuter dans ce quota.

      • Lorsqu'une tâche correspond simultanément à plusieurs règles de quota, elle est ordonnancée dans le quota créé le plus anciennement.

      • Lorsqu'une tâche ne correspond à aucune règle de quota, elle utilise le quota par défaut du projet, même si la tâche ne correspond pas aux règles du quota par défaut.

      • Lorsqu'un quota, tel que etl_1, est spécifié au niveau de la tâche, la tâche sera ordonnancée vers le quota etl_1, même si la tâche ne correspond pas aux règles du quota etl_1.

    • EXCLUSIVE : mode exclusif.

      Une tâche est ordonnancée vers ce quota uniquement si ses caractéristiques correspondent à cette règle. Sinon, l'utilisation de ce quota lui est interdite.

      Les exemples suivants illustrent la différence avec le mode normal :

      • Par exemple, si le quota par défaut d'un projet, etl_2, est associé à Project_2, et que etl_2 possède une règle en mode exclusif, une tâche issue de ce projet doit correspondre à la règle pour pouvoir utiliser etl_2. En cas de non-concordance, la soumission échoue. En mode normal, la tâche pourrait utiliser etl_2 et être ordonnancée vers etl_2 même sans correspondance.

      • Si vous spécifiez un quota nommé etl_3 à l'aide de la commande set odps.task.wlm.quota=etl_3 (i.e. use quota etl_3), et que etl_3 possède une règle en mode exclusif à laquelle la tâche ne correspond pas, la soumission de la tâche échouera. À l'inverse, si etl_3 ne disposait que d'une règle en mode normal, la tâche pourrait être ordonnancée vers etl_3.

    • ANTI : mode interdit.

      Si une tâche correspond à cette règle, l'utilisation de ce quota lui est interdite. La tâche est alors redirigée vers le quota de calcul par défaut de son projet. Si le quota par défaut est ce même quota interdit, la tâche est ordonnancée vers le quota disponible le plus ancien dans la région, qui peut inclure des quotas facturés à l'utilisation.

    Important

    Les règles en mode exclusif et en mode interdit ont une priorité supérieure à celles en mode normal. Si une tâche ne correspond pas à une règle en mode exclusif du Quota A ou correspond à une règle en mode interdit du Quota A, la tâche ne peut pas être ordonnancée vers le Quota A, indépendamment du fait qu'elle corresponde à une règle en mode normal du Quota A ou qu'elle lui soit affectée manuellement.

    Project

    Sélectionnez les projets auxquels la règle s'applique. Vous pouvez sélectionner jusqu'à 50 projets. Si vous laissez ce champ vide, la règle s'applique à tous les projets.

    Job Type

    Valeur fixe : SQL (tâches SQL).

    Job Priority

    Sans objet.

    Job Owner (Account ID)

    • Saisissez les UID des propriétaires de tâche auxquels la règle s'applique. Plusieurs UID entretiennent une relation logique OU. Saisissez chaque UID sur une nouvelle ligne. Vous pouvez saisir jusqu'à 50 UID.

    • Pour l'UID d'un utilisateur RAM, vous devez ajouter le préfixe p4_, par exemple p4_12344566777.

    • Si vous laissez ce champ vide, la règle s'applique à tous les propriétaires de tâche.

    Job Settings

    Sans objet.

    Au moins l'un des paramètres suivants doit être spécifié : Project, Job Type, Job Priority, Job Owner (UID) ou Job Settings. Tout paramètre laissé vide correspondra à toutes les options.

Cas d'utilisation

Ordonnancement des tâches MCQA

Ordonnancement des tâches MaxCompute Query Acceleration

  • Quota d'accélération et quota de secours.

    Une tâche MCQA nécessite deux quotas :

    • Un quota d'accélération (de type interactif)

    • Un quota de secours (de type traitement par lots).

    Pour mettre en œuvre cette configuration, définissez une règle de quota associant un projet ou un propriétaire de tâche à la fois à un quota d'accélération et à un quota de secours.

  • Activation de MCQA par projet, par propriétaire de tâche ou selon d'autres critères.

    Lors de la création d'un quota de type interactive, vous pouvez configurer différentes conditions de règle ProjectList pour différents quotas. Cela vous permet d'activer le quota interactive projet par projet.

Isolation des tâches de remplissage de données

Isolation des tâches de remplissage de données

Une tâche de remplissage de données, qui réexécute des tâches pour repeupler des données historiques, peut consommer une grande quantité de ressources de calcul, notamment sur une longue période. Afin d'éviter d'affecter le fonctionnement normal des tâches quotidiennes, nous vous recommandons de créer un quota dédié avec des règles spécifiques pour les tâches de remplissage de données.

Par exemple, une tâche planifiée DataWorks transmet systématiquement le paramètre SKYNET_DAGTYPE:3 dans les Job Settings lors du lancement d'une tâche de remplissage de données. Vous pouvez exploiter ce comportement pour configurer la règle de quota suivante :

  • Créez un quota nommé refill et configurez une règle pour le quota refill. Si vous souhaitez que toutes les tâches de remplissage de données initiées par DataWorks s'exécutent par défaut dans le quota refill, configurez une règle en mode normal. Pour ce faire, saisissez SKYNET_DAGTYPE=3 dans le paramètre Job Settings.

  • Vous pouvez également effectuer des configurations plus granulaires. Par exemple, vous pourriez vouloir que seules les tâches de remplissage de données du projet P1 avec une priorité de tâche comprise entre 5 et 9 s'exécutent dans le quota refill. Pour ce faire, configurez une règle en mode normal, sélectionnez P1 pour le projet, saisissez [5,9] pour la priorité, et saisissez SKYNET_DAGTYPE=3 pour le paramètre Job Settings.

    Remarque

    La priorité indiquée ici correspond à la priorité de la tâche MaxCompute, et non à la priorité de la baseline DataWorks. La formule de conversion est la suivante : Priorité MaxCompute = 9 - Priorité de la baseline DataWorks.

Isolation des tâches par rôle

Isolation des tâches provenant de différents rôles

Vous pouvez créer plusieurs quotas afin d'isoler les tâches provenant de différents rôles.

Généralement, vous pouvez distinguer les rôles des tâches en combinant les dimensions suivantes : Project, Job Owner, Job Type, Priority et Job Settings.

  • Lorsque les tâches de différents rôles utilisent des projets distincts :

    Vous pouvez ajouter le nom du projet au champ Project dans la règle du quota souhaité.

  • Lorsque les tâches de différents rôles sont soumises par des utilisateurs différents :

    Vous pouvez ajouter l'UID du propriétaire de la tâche au champ Job Owner dans la règle du quota souhaité.

  • Lorsque les tâches de différents rôles présentent des configurations différentes :

    Vous pouvez utiliser le paramètre Job Settings pour distinguer les rôles. Le paramètre Job Settings fait référence aux instructions set xxx=xxx; soumises conjointement avec la tâche. Elles peuvent être personnalisées ou ajoutées par le système. Par exemple, les tâches issues de DataWorks incluent automatiquement des paramètres d'identification.

  • Lorsque différents rôles soumettent des types de tâches différents :

    Vous pouvez utiliser le paramètre Job Type pour les distinguer. Par exemple, une tâche d'apprentissage automatique soumise depuis la plateforme PAI possède le Job Type ALGO. Une requête SQL standard soumise via MaxCompute possède le Job Type SQL.

Vous pouvez également combiner ces conditions de règle pour obtenir un contrôle plus fin de l'ordonnancement des tâches.