Tous les produits
Search
Centre de documentation

MaxCompute:Limitations

Dernière mise à jour :Aug 10, 2026

Les tâches MapReduce MaxCompute sont soumises aux limites suivantes. Le dépassement d'une limite entraîne l'échec de la tâche.

Ces limites se répartissent en cinq catégories :

  • Mémoire — mémoire maximale utilisable par une instance map ou reduce unique

  • Quantité — plafonds applicables aux instances, entrées, sorties, ressources, compteurs et tentatives

  • Longueur — limites de taille pour les ressources, les divisions de données et les colonnes de type chaîne

  • Temps — durée maximale pendant laquelle un worker peut s'exécuter sans lire, écrire ou envoyer de signal de présence

  • Type de données — types de champs pris en charge dans les ressources de table

Tableau des limites

Limite

Valeur

Catégorie

Paramètre de configuration

Par défaut

Configurable

Mémoire par instance

256 Mo – 12 Go

Mémoire

odps.stage.mapper(reducer).mem et odps.stage.mapper(reducer).jvm.mem

2 048 Mo + 1 024 Mo

Oui

Ressources par tâche

256

Quantité

Non

Entrées par tâche

1 024

Quantité

Non

Sorties par tâche

256

Quantité

Non

Tables distinctes parmi toutes les entrées

64

Quantité

Non

Compteurs personnalisés par tâche

64

Quantité

Non

Instances map par tâche

1 – 100 000

Quantité

odps.stage.mapper.num

Calculé à partir de la taille de division

Oui

Instances reduce par tâche

0 – 2 000

Quantité

odps.stage.reducer.num

1/4 du nombre d'instances map

Oui

Tentatives par instance ayant échoué

3

Quantité

Non

Débogage local : instances map

2 (par défaut), max 100

Quantité

2

Non

Débogage local : instances reduce

1 (par défaut), max 100

Quantité

1

Non

Débogage local : enregistrements téléchargés par entrée

100 (par défaut), max 10 000

Quantité

100

Non

Lectures répétées d'une ressource par instance

64

Quantité

Non

Taille totale des ressources par tâche

2 Go

Longueur

Non

Taille de division

≥ 1

Longueur

odps.stage.mapper.split.size

256 Mo

Oui

Longueur du contenu d'une colonne STRING

8 Mo

Longueur

Non

Délai d'expiration de l'exécution du worker

1 – 3 600 secondes

Temps

odps.function.timeout

600 secondes

Oui

Types de champs pris en charge dans les ressources de table

BIGINT, DOUBLE, STRING, DATETIME, BOOLEAN

Type de données

Non

Détails des limites

Mémoire par instance

Chaque instance map ou reduce dispose de deux pools de mémoire : la mémoire du framework (2 048 Mo par défaut) et la mémoire heap de la machine virtuelle Java (JVM) (1 024 Mo par défaut). Le total combiné doit rester dans la plage de 256 Mo à 12 Go. Ajustez à la fois odps.stage.mapper.mem et odps.stage.mapper.jvm.mem (ou leurs équivalents pour le reducer) lors de l'optimisation de l'allocation mémoire.

Ressources par tâche

Une seule tâche peut référencer jusqu'à 256 ressources. Chaque table et chaque fichier d'archive compte comme une ressource. La taille totale de toutes les ressources référencées ne peut pas dépasser 2 Go.

Entrées et sorties

  • Une partition unique compte comme une entrée. Le nombre total d'entrées ne peut pas dépasser 1 024.

  • Le nombre total de tables distinctes parmi toutes les entrées ne peut pas dépasser 64.

  • Le nombre total de sorties ne peut pas dépasser 256.

Compteurs personnalisés

Une tâche peut définir jusqu'à 64 compteurs personnalisés. Le nom du groupe et le nom du compteur ne doivent pas contenir le caractère dièse (#), et leur longueur combinée ne peut pas dépasser 100 caractères.

Instances map et reduce

Le framework calcule le nombre d'instances map en fonction de la taille de division. Il s'agit du comportement par défaut : le framework détermine automatiquement le nombre d'instances. Pour remplacer ce comportement, définissez odps.stage.mapper.num sur une valeur comprise entre 1 et 100 000. Si aucune table d'entrée n'est spécifiée, vous devez définir ce paramètre explicitement.

Par défaut, le nombre d'instances reduce correspond au quart du nombre d'instances map. Définissez odps.stage.reducer.num sur n'importe quelle valeur comprise entre 0 et 2 000 pour modifier ce paramètre. Une instance reduce peut traiter nettement plus de données qu'une instance map, ce qui risque de ralentir la phase de réduction.

Tentatives

Une instance map ou reduce ayant échoué fait l'objet de trois tentatives maximum. Certaines exceptions non récupérables provoquent l'échec immédiat de la tâche sans nouvelle tentative.

Mode de débogage local

En mode de débogage local :

  • Instances map : 2 par défaut, 100 maximum

  • Instances reduce : 1 par défaut, 100 maximum

  • Enregistrements téléchargés par entrée : 100 par défaut, 10 000 maximum

Délai d'expiration de l'exécution du worker

Un worker expire s'il ne lit ni n'écrit de données et n'envoie aucun signal de présence via context.progress() pendant une durée supérieure au délai d'expiration configuré. Le délai par défaut est de 600 secondes (plage : 1 à 3 600 secondes). Définissez odps.function.timeout sur une valeur plus élevée pour les tâches présentant de longs intervalles de traitement entre les opérations d'E/S.

Limites des fonctionnalités

Fonctionnalité

Prise en charge

Lecture de données depuis OSS (Object Storage Service)

Non

Nouveaux types de données introduits dans MaxCompute V2.0

Non

Exécution de tâches MapReduce dans des projets activant les schémas

Non

Lorsqu'une tâche MapReduce référence une ressource de table, une erreur est signalée si la table contient des champs de types de données non pris en charge.

Remarque

Si vous mettez à niveau un projet pour qu'il prenne en charge les schémas (support schemas), les tâches MapReduce existantes dans ce projet ne peuvent plus s'exécuter.