| 1 | {{{ |
| 2 | #!html |
| 3 | <div style="text-align: center; color:#151B8D"><big style="font-weight: bold;"><big><big> |
| 4 | Hadoop 進階課程 |
| 5 | </big></big></big></div> <div style="text-align: center; color:#7E2217"><big style="font-weight: bold;"><big> |
| 6 | 範例練習 |
| 7 | </big></big></div> |
| 8 | }}} |
| 9 | |
| 10 | [wiki:NCHCCloudCourse100928_4_EXM6 上一關 < ] 最後一關 [wiki:NCHCCloudCourse100928 >> 回課程大綱] |
| 11 | |
| 12 | = Ex1. = |
| 13 | |
| 14 | {{{ |
| 15 | #!java |
| 16 | package org.nchc.hadoop; |
| 17 | |
| 18 | import org.apache.hadoop.util.ProgramDriver; |
| 19 | |
| 20 | |
| 21 | |
| 22 | //YourMenu |
| 23 | //說明: |
| 24 | // 將之前的功能整合起來 |
| 25 | // |
| 26 | //測試方法: |
| 27 | // 將此程式運作在hadoop 0.20 平台上,執行: |
| 28 | // --------------------------- |
| 29 | // hadoop jar YourMenu.jar <功能> |
| 30 | // --------------------------- |
| 31 | // |
| 32 | //注意: |
| 33 | //1. 此程式需與之前的範例一起打包成一個YourExam.jar檔 |
| 34 | |
| 35 | |
| 36 | public class YourMenu { |
| 37 | |
| 38 | |
| 39 | public static void main(String argv[]) { |
| 40 | int exitCode = -1; |
| 41 | ProgramDriver pgd = new ProgramDriver(); |
| 42 | if (argv.length < 1) { |
| 43 | System.out.print("******************************************\n" |
| 44 | + "歡迎使用 YourMenu 的運算功能 \n" + "指令: \n" |
| 45 | + " Hadoop jar YourExam.jar <功能> \n" + "功能:\n" |
| 46 | + " HelloHadoop: 秀出Hadoop的<Key,Value>為何 \n" |
| 47 | + " HelloHadoopV2: 秀出Hadoop的<Key,Value> 進階版 \n" |
| 48 | + " HelloHadoopV3: 秀出Hadoop的<Key,Value> 進化版 \n" |
| 49 | + " WordCount: 計算輸入資料夾內分別在每個檔案的字數統計 \n" |
| 50 | + " WordCountV2: WordCount 進階版 \n" |
| 51 | + " WordIndex: 索引每個字與其所有出現的所在列 \n" |
| 52 | + "******************************************\n"); |
| 53 | } else { |
| 54 | |
| 55 | try { |
| 56 | pgd.addClass("HelloHadoop", HelloHadoop.class, " Hadoop hello world"); |
| 57 | pgd.addClass("HelloHadoopV2", HelloHadoopV2.class, " Hadoop hello world V2"); |
| 58 | pgd.addClass("HelloHadoopV3", HelloHadoopV3.class, " Hadoop hello world V3"); |
| 59 | pgd.addClass("WordCount", WordCount.class, " word count."); |
| 60 | pgd.addClass("WordCountV2", WordCountV2.class, " word count V2."); |
| 61 | pgd.addClass("WordIndex", WordIndex.class, "invert each word in line"); |
| 62 | pgd.driver(argv); |
| 63 | // Success |
| 64 | exitCode = 0; |
| 65 | System.exit(exitCode); |
| 66 | } catch (Throwable e) { |
| 67 | e.printStackTrace(); |
| 68 | } |
| 69 | } |
| 70 | |
| 71 | } |
| 72 | } |
| 73 | |
| 74 | }}} |
| 75 | |
| 76 | |