| | 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 | |