Tous les produits
Search
Centre de documentation

MaxCompute:Limitations

Dernière mise à jour :Sep 20, 2026

Les jobs MapReduce MaxCompute sont soumis aux limites suivantes. Le dépassement d'une limite entraîne l'échec du job.

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

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

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

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

  • Temps — durée maximale d'exécution d'un worker sans lecture, écriture ni envoi 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

Valeur 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 job

256

Quantité

—

—

Non

Entrées par job

1 024

Quantité

—

—

Non

Sorties par job

256

Quantité

—

—

Non

Tables distinctes parmi toutes les entrées

64

Quantité

—

—

Non

Compteurs personnalisés par job

64

Quantité

—

—

Non

Instances de map par job

1–100 000

Quantité

odps.stage.mapper.num

Calculé à partir de la taille de partition

Oui

Instances de reduce par job

0–2 000

Quantité

odps.stage.reducer.num

1/4 du nombre d'instances de map

Oui

Tentatives par instance ayant échoué

3

Quantité

—

—

Non

Débogage local : instances de map

2 (par défaut), max 100

Quantité

—

2

Non

Débogage local : instances de 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 job

2 Go

Longueur

—

—

Non

Taille de partition

≥ 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 de map ou de reduce dispose de deux pools de mémoire : la mémoire du framework (2 048 Mo par défaut) et le tas (heap) de la machine virtuelle Java (JVM) (1 024 Mo par défaut). Le total combiné doit rester compris entre 256 Mo et 12 Go. Ajustez à la fois odps.stage.mapper.mem et odps.stage.mapper.jvm.mem (ou leurs équivalents pour reduce) lors du réglage de l'allocation mémoire.

Ressources par job

Un seul job 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 seule partition 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

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

Instances de map et de reduce

Le framework calcule le nombre d'instances de map en fonction de la taille de partition. Il s'agit du comportement par défaut : le framework détermine automatiquement ce nombre. Pour remplacer ce calcul, 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 explicitement ce paramètre.

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

Tentatives

Une instance de map ou de reduce ayant échoué fait l'objet de trois tentatives maximum. Certaines exceptions non récupérables entraînent l'échec immédiat du job sans nouvelle tentative.

Mode de débogage local

En mode de débogage local :

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

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

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

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

Un worker atteint le délai d'expiration lorsqu'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 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 jobs présentant de longs intervalles de traitement entre les opérations d'E/S.

Limites des fonctionnalités

Fonctionnalité

Prise en charge

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

Non

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

Non

Exécution de jobs 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 dont les types de données ne sont pas pris en charge.

Remarque

Si vous mettez à niveau un projet pour prendre en charge les schémas, les jobs MapReduce existants dans ce projet ne peuvent plus s'exécuter.