Tous les produits
Search
Centre de documentation

DataWorks:Nœud MaxCompute MR

Dernière mise à jour :Aug 10, 2026

Créez et planifiez des nœuds MaxCompute MR pour exécuter des programmes MapReduce qui traitent des ensembles de données à grande échelle dans MaxCompute à l'aide de l'API Java MapReduce.

Contexte

MapReduce est un framework de calcul distribué qui combine la logique métier écrite par l'utilisateur avec des composants intégrés pour former un programme distribué s'exécutant simultanément sur un cluster Hadoop. MaxCompute propose deux versions de l'interface de programmation MapReduce. Pour plus d'informations, consultez MapReduce.

  • MaxCompute MapReduce : API native de MaxCompute. Elle permet une exécution rapide et un développement accéléré sans exposer le système de fichiers.

  • Extended MaxCompute MapReduce (MR2) : extension de MaxCompute MapReduce prenant en charge une logique de planification des jobs plus complexe. Elle utilise la même implémentation que l'API native de MaxCompute.

Les nœuds MaxCompute MR dans DataWorks vous permettent de planifier et d'exécuter des tâches MapReduce, et de les intégrer à d'autres jobs.

Prérequis

Remarque

Téléchargez et déployez les ressources requises avant de créer un nœud MaxCompute MR.

Limites

Pour connaître les limites des nœuds MaxCompute MR, consultez Limites.

Procédure

  1. Sur la page de l'éditeur de nœuds MaxCompute MR, suivez les étapes de développement ci-dessous.

    Développer le code MR

    L'exemple suivant montre comment utiliser un nœud MaxCompute MR pour compter les occurrences de chaque chaîne dans la table wc_in et écrire les résultats dans la table wc_out.

    1. Téléchargez, soumettez et déployez la ressource mapreduce-examples.jar. Pour plus d'informations, consultez gestion des ressources.

      Remarque

      Pour obtenir des informations sur la logique d'implémentation du package mapreduce-examples.jar , consultez Exemple WordCount.

    2. Dans l'éditeur de nœuds MaxCompute MR, saisissez l'exemple de code suivant.

      --Create the input table.
      CREATE TABLE IF NOT EXISTS wc_in (key STRING, VALUE STRING);
      --Create the output table.
      CREATE TABLE IF NOT EXISTS wc_out (key STRING, cnt BIGINT);
          ---Create the system dual table.
          DROP TABLE IF EXISTS dual;
          CREATE TABLE dual(id BIGINT); --If the workspace does not have this pseudo table, you need to create it and initialize the data.
          ---Initialize data for the system pseudo table.
          INSERT OVERWRITE TABLE dual SELECT count(*) FROM dual;
          ---Insert sample data into the input table wc_in.
          INSERT OVERWRITE TABLE wc_in SELECT * FROM (
          SELECT 'project','val_pro' FROM dual 
          UNION ALL 
          SELECT 'problem','val_pro' FROM dual
          UNION ALL 
          SELECT 'package','val_a' FROM dual
          UNION ALL 
          SELECT 'pad','val_a' FROM dual
            ) b;
      -- Reference the JAR resource that was just uploaded. You can find the resource in the resource management panel, right-click to reference it.
      --@resource_reference{"mapreduce-examples.jar"}
      jar -resources mapreduce-examples.jar -classpath ./mapreduce-examples.jar com.aliyun.odps.mapred.open.example.WordCount wc_in wc_out
      Remarque

      Le code est décrit comme suit :

      • --@resource_reference : cliquez avec le bouton droit sur un nom de ressource dans la section de gestion des ressources et sélectionnez Insert Resource Path pour générer automatiquement cette instruction.

      • -resources : nom du fichier de ressource JAR référencé.

      • -classpath : chemin d'accès au package JAR. Étant donné que la ressource est référencée, le chemin est uniformément défini sur le package JAR sous ./.

      • com.aliyun.odps.mapred.open.example.WordCount : classe principale appelée lors de l'exécution. Cette valeur doit correspondre au nom de la classe principale dans le package JAR.

      • wc_in : nom de la table d'entrée MR, créée dans le code précédent.

      • wc_out : nom de la table de sortie MR, créée dans le code précédent.

      • Lorsqu'une tâche MR appelle plusieurs ressources JAR, le classpath est spécifié au format suivant : -classpath ./xxxx1.jar,./xxxx2.jar. Les chemins sont séparés par des virgules (,).

    Exécuter la tâche MR

    1. Dans Run Configuration, configurez Compute Resource, Compute Quota et Resource Group.

      Remarque

      Pour accéder aux sources de données dans des environnements de réseau public ou VPC, utilisez un groupe de ressources pour la planification ayant réussi le test de connectivité avec la source de données. Pour plus d'informations, consultez Connectivité réseau.

    2. Dans la boîte de dialogue des paramètres de la barre d'outils, sélectionnez la source de données MaxCompute que vous avez créée, puis cliquez sur Run pour exécuter la tâche MR.

    (Facultatif) Interroger les résultats

    Interrogez les données de la table de sortie wc_out à l'aide d'un nœud SQL MaxCompute.

    SELECT * FROM wc_out;

    Résultat :

    +------------+------------+
    | key        | cnt        |
    +------------+------------+
    | package    | 1          |
    | pad        | 1          |
    | problem    | 1          |
    | project    | 1          |
    | val_a      | 2          |
    | val_pro    | 2          |
    +------------+------------+
  2. Pour exécuter périodiquement la tâche de nœud, configurez les paramètres de planification en fonction de vos besoins métier. Pour plus d'informations, consultez Paramètres de planification.

  3. Une fois la tâche de nœud configurée, déployez-la. Pour plus d'informations, consultez Déployer un nœud.

  4. Après le déploiement de la tâche, affichez l'état d'exécution de la tâche planifiée dans Operation Center. Pour plus d'informations, consultez Tâches planifiées.

Références

Pour découvrir d'autres scénarios de développement de tâches ODPS MR, consultez les rubriques suivantes :

Pour consulter les problèmes courants lors de l'exécution des tâches MR et leurs solutions de dépannage, voir FAQ.