Changes between Initial Version and Version 1 of waue/2010/0115-program-drive


Ignore:
Timestamp:
Jan 19, 2010, 7:25:49 PM (14 years ago)
Author:
waue
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • waue/2010/0115-program-drive

    v1 v1  
     1 = 程式驅動 =
     2
     3{{{
     4#!java
     5import org.apache.hadoop.util.ProgramDriver;
     6
     7//TsmMenu
     8//說明:
     9//      將之前的功能整合起來
     10//
     11//測試方法:
     12//      將此程式運作在hadoop 0.20 平台上,執行:
     13//      ---------------------------
     14//      hadoop jar TsmMenu.jar <功能>
     15//      ---------------------------
     16//
     17//注意:
     18//1.    在hdfs 上來源檔案的路徑為 你所指定的 <input>
     19//請注意必須先放資料到此hdfs上的資料夾內,且此資料夾內只能放檔案,不可再放資料夾
     20//2.    運算完後,程式將執行結果放在hdfs 的輸出路徑為 你所指定的 <output>
     21
     22public class TsmMenu {
     23
     24
     25        public static void main(String argv[]) {
     26                int exitCode = -1;
     27                ProgramDriver pgd = new ProgramDriver();
     28                if (argv.length < 1) {
     29                        System.out.print("******************************************\n"
     30                                        + "歡迎使用 TSM 的運算功能 \n" + "指令: \n"
     31                                        + "  Hadoop jar TSM-example-*.jar <功能> \n" + "功能:\n"
     32                                        + "  HelloHadoop:  秀出Hadoop的<Key,Value>為何 \n"
     33                                        + "  HelloHadoopV2:  秀出Hadoop的<Key,Value> 進階版 \n"
     34                                        + "  HelloHadoopV3:  秀出Hadoop的<Key,Value> 進化版 \n"
     35                                        + "  WordCount:  計算輸入資料夾內分別在每個檔案的字數統計 \n"
     36                                        + "  WordCountV2:  WordCount 進階版 \n"
     37                                        + "  WordIndex:  索引每個字與其所有出現的所在列 \n"
     38                                        + "******************************************\n");
     39                } else {
     40
     41                        try {
     42                                pgd.addClass("HelloHadoop", HelloHadoop.class, " Hadoop hello world");
     43                                pgd.addClass("HelloHadoopV2", HelloHadoopV2.class, " Hadoop hello world V2");
     44                                pgd.addClass("HelloHadoopV3", HelloHadoopV3.class, " Hadoop hello world V3");
     45                                pgd.addClass("WordCount", WordCount.class, " word count.");
     46                                pgd.addClass("WordCountV2", WordCountV2.class, " word count V2.");
     47                                pgd.addClass("WordIndex", WordIndex.class, "invert each word in line");
     48                                pgd.driver(argv);
     49                                // Success
     50                                exitCode = 0;
     51                                System.exit(exitCode);
     52                        } catch (Throwable e) {
     53                                e.printStackTrace();
     54                        }
     55                }
     56
     57        }
     58}
     59}}}