= 程式驅動 = {{{ #!java import org.apache.hadoop.util.ProgramDriver; //TsmMenu //說明: // 將之前的功能整合起來 // //測試方法: // 將此程式運作在hadoop 0.20 平台上,執行: // --------------------------- // hadoop jar NCHCMenu.jar <功能> // --------------------------- // //注意: //1. 此程式需與之前的範例一起打包成一個TsmMenu.jar檔 public class NCHCMenu { public static void main(String argv[]) { int exitCode = -1; ProgramDriver pgd = new ProgramDriver(); if (argv.length < 1) { System.out.print("******************************************\n" + "歡迎使用 NCHC Class 的運算功能 \n" + "指令: \n" + " Hadoop jar TSM-example-*.jar <功能> \n" + "功能:\n" + " HelloHadoop: 秀出Hadoop的為何 \n" + " HelloHadoopV2: 秀出Hadoop的 進階版 \n" + " HelloHadoopV3: 秀出Hadoop的 進化版 \n" + " WordCount: 計算輸入資料夾內分別在每個檔案的字數統計 \n" + " WordCountV2: WordCount 進階版 \n" + " WordIndex: 索引每個字與其所有出現的所在列 \n" + "******************************************\n"); } else { try { pgd.addClass("HelloHadoop", HelloHadoop.class, " Hadoop hello world"); pgd.addClass("HelloHadoopV2", HelloHadoopV2.class, " Hadoop hello world V2"); pgd.addClass("HelloHadoopV3", HelloHadoopV3.class, " Hadoop hello world V3"); pgd.addClass("WordCount", WordCount.class, " word count."); pgd.addClass("WordCountV2", WordCountV2.class, " word count V2."); pgd.addClass("WordIndex", WordIndex.class, "invert each word in line"); pgd.driver(argv); // Success exitCode = 0; System.exit(exitCode); } catch (Throwable e) { e.printStackTrace(); } } } } }}}