Todos los productos
Search
Centro de documentos

MaxCompute:Enviar un trabajo de MapReduce

Última actualización: Sep 23, 2026

Este tema describe cómo ejecutar un comando JAR en el cliente de MaxCompute para enviar un trabajo de MapReduce.

El cliente de MaxCompute proporciona un comando JAR para enviar trabajos de MapReduce. Por ejemplo:

jar -conf \home\admin\myconf -resources a.txt,example.jar -classpath ..\lib\example.jar:.\other_lib.jar -D java.library.path=.\native;

Sintaxis

jar [<GENERIC_OPTIONS>] <MAIN_CLASS> [ARGS];
        -conf <configuration_file> 
        -resources <resource_name_list>    
        -classpath <local_file_list>       
        -D <name>=<value>                  
        -l                                 

Parámetros

  • <GENERIC_OPTIONS> incluye los siguientes parámetros opcionales:

    • -conf <configuration file>: especifica el archivo de configuración de JobConf. Este archivo contiene los ajustes de JobConf en el SDK.

      A continuación se muestra la plantilla de un archivo de JobConf:

      <configuration>
         <property>
            <name>import.filename</name>
            <value>resource.txt</value>
         </property>
      </configuration>          

      En este ejemplo, se especifica una variable llamada import.filename con el valor resource.txt en el archivo de configuración de JobConf.

      Llame a la interfaz JobConf en MapReduce para obtener el valor de esta variable. También puede llamar a la interfaz JobConf en el SDK para obtener dicho valor. Para más información, consulte Resource samples.

      Ejemplo:

      -- Add a jar to the MaxCompute project environment and submit a jar job.
      add jar data\mapreduce-examples.jar;
      jar -resources mapreduce-examples.jar -classpath data\mapreduce-examples.jar
          org.alidata.odps.mr.examples.WordCount wc_in wc_out;
          
      -- Add files and a jar to the MaxCompute project environment and submit a jar job.  
      add file data\src.txt;
      add jar data\mapreduce-examples.jar;
      jar -resources src.txt,mapreduce-examples.jar -classpath data\mapreduce-examples.jar
          org.alidata.odps.mr.examples.WordCount wc_in wc_out;
       
      -- Create a new table test_table based on the structure of the table wc_in, add a file, the test_table and the jar to the MaxCompute project environment, then submit a jar job.  
      add file data\a.txt;
      add table wc_in as test_table;
      add jar data\work.jar;
      jar -conf odps-mapred.xml -resources a.txt,test_table,work.jar
          -classpath data\work.jar:otherlib.jar
          -D import.filename=resource.txt org.alidata.odps.mr.examples.WordCount args;
    • -resources <resource_name_list>: especifica los recursos que se utilizan para ejecutar un trabajo de MapReduce. En la mayoría de los casos, debe especificar los nombres de los recursos que usa la función map o reduce en resource_name_list.

      Nota
      • Si la función map o reduce lee otros recursos de MaxCompute, también debe agregar los nombres de estos recursos a resource_name_list.

      • Separe varios recursos con comas (,). Si utiliza recursos de otro proyecto, agregue PROJECT/resources/ antes de resource_name_list. Por ejemplo: -resources otherproject/resources/resfile.

      • Para más información sobre cómo usar la función map o reduce para leer recursos, consulte Resource samples.

    • -classpath <local_file_list>: especifica el classpath que se utiliza para ejecutar un trabajo de MapReduce en modo local. Este parámetro define las rutas locales, tanto relativas como absolutas, del paquete JAR donde se encuentra la función principal.

      Los nombres de los paquetes se separan con los delimitadores de archivo predeterminados. En la mayoría de los casos, Windows usa punto y coma (;) como delimitador predeterminado, mientras que Linux emplea comas (,). Si ejecuta un trabajo de MapReduce en un servidor en la nube, separe los nombres de los paquetes con comas (,).

      Nota

      Es posible que prefiera compilar la función principal en el mismo paquete que la función map o reduce. Para más información, consulte WordCount samples. En ese caso, al ejecutar el programa de ejemplo, mapreduce-examples.jar se incluye tanto en las opciones -resources como -classpath. Sin embargo, la opción -resources hace referencia a la función map o reduce para su ejecución distribuida, mientras que la opción -classpath apunta a la función principal para su ejecución local. El paquete JAR especificado también debe guardarse en un directorio local.

    • -D <prop_name>=<prop_value>: especifica la propiedad de Java de <mainClass> para la ejecución local. Puede definir varias propiedades.

    • -l: indica que el trabajo de MapReduce se ejecuta en modo local. Esta opción se utiliza para depurar programas.

  • <MAIN_CLASS>: clase principal. Por ejemplo, com.example.Main.

  • [ARGS]: parámetros del programa (opcional). Estos parámetros se pasan al método main de la clase principal.