日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

MapReduce作業提交

本文向您介紹如何使用Jar命令在MaxCompute客戶端運行和提交MapReduce作業。

MaxCompute客戶端提供Jar命令用于運行MapReduce作業,舉例如下。

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

語法介紹

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

參數說明

  • <GENERIC_OPTIONS>包括(均為可選參數):

    • -conf <configuration file>:指定JobConf配置文件。該文件可以影響SDK中JobConf的設置。

      JobConf配置文件的模板如下。

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

      在上述模板中,通過JobConf配置文件定義一個名為import.filename的變量,該變量的值為resource.txt

      您可以在MapReduce程序中通過JobConf接口獲取該變量的值。通過SDK中JobConf接口您可以達到相同的目的,詳情請參見資源使用示例

      示例如下。

      -- 添加jar包至MaxCompute項目環境,并提交jar作業。
      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;
          
      -- 添加file文件和jar包至MaxCompute項目環境,并提交jar作業。    
      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;
       
      -- 添加file文件,基于wc_in表結構創建新表test_table和jar包至MaxCompute項目環境,并提交jar作業。   
      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>:MapReduce作業運行時使用的資源聲明。一般情況下,resource_name_list中需要指定Map/Reduce函數所用的資源名稱。

      說明
      • 如果在Map/Reduce函數中讀取了其他MaxCompute資源,則這些資源名稱也需要被添加到resource_name_list中。

      • 資源之間使用逗號分隔,使用跨項目空間使用資源時,需要在前面加上PROJECT/resources/。例如,-resources otherproject/resources/resfile

      • 在Map/Reduce函數中讀取資源的示例,請參見資源使用示例

    • -classpath <local_file_list>:本地執行時的classpath,主要用于指定main函數所在的Jar包的本地路徑(包含相對路徑和絕對路徑)。

      包名之間使用系統默認的文件分割符作分割。通常情況下,Windows系統中使用分號(;),Linux系統中使用逗號(,)。如果您在云端服務器運行MapReduce任務,則使用逗號(,)進行分隔。

      說明

      通常,您可能更習慣于將main函數與Map/Reduce函數編寫在一個包中,例如WordCount 代碼示例。因此,在執行示例程序時,-resources-classpath的參數中都出現了mapreduce-examples.jar。但二者意義不同,-resources引用的是Map/Reduce函數,運行于分布式環境中。而-classpath引用的是main函數,運行于本地,指定的Jar包路徑也是本地文件路徑。

    • -D <prop_name>=<prop_value>:本地執行時,<mainClass>的Java屬性,可以定義多個。

    • -l:以本地模式執行MapReduce作業,主要用于程序調試。

  • <MAIN_CLASS>:運行主類,例如com.example.Main。

  • [ARGS]:程序的參數(可選)。這些參數會傳遞給Main類的main方法。