MapReduce-流量统计求和-排序-JobMain代码和测试运行
生活随笔
收集整理的這篇文章主要介紹了
MapReduce-流量统计求和-排序-JobMain代码和测试运行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序main函數入口
package cn.learn.mapreduce_sort;import cn.learn.mapreduce_flowcount.FlowCountReducer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.input.TextInputFormat; import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.ToolRunner;public class JobMain extends Configured implements Tool {@Overridepublic int run(String[] strings) throws Exception {//創建一個任務對象Job job = Job.getInstance(super.getConf(), "mapreduce_flowcountsort");//打包放在集群運行時,需要做一個配置job.setJarByClass(JobMain.class);//第一步:設置讀取文件的類: K1 和V1job.setInputFormatClass(TextInputFormat.class);TextInputFormat.addInputPath(job, new Path("hdfs://node01:8020/out/flowcount_out"));//第二步:設置Mapper類job.setMapperClass(FlowCountSortMapper.class);//設置Map階段的輸出類型: k2 和V2的類型job.setMapOutputKeyClass(FlowBean.class);job.setMapOutputValueClass(Text.class);//第三,四,五,六步采用默認方式(分區,排序,規約,分組)//第七步 :設置文的Reducer類job.setReducerClass(FlowCountSortReducer.class);//設置Reduce階段的輸出類型job.setOutputKeyClass(Text.class);job.setOutputValueClass(FlowBean.class);//設置Reduce的個數//第八步:設置輸出類job.setOutputFormatClass(TextOutputFormat.class);//設置輸出的路徑TextOutputFormat.setOutputPath(job, new Path("hdfs://node01:8020/out/flowcountsort_out"));boolean b = job.waitForCompletion(true);return b?0:1;}public static void main(String[] args) throws Exception {Configuration configuration = new Configuration();//啟動一個任務int run = ToolRunner.run(configuration, new JobMain(), args);System.exit(run);}}?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的MapReduce-流量统计求和-排序-JobMain代码和测试运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MapReduce-流量统计求和-排序-
- 下一篇: MapReduce-流量统计求和-分区代