教你如何查看API及使用hadoop新api编程.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《教你如何查看API及使用hadoop新api编程.pdf》由会员分享,可在线阅读,更多相关《教你如何查看API及使用hadoop新api编程.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 教你如何查看教你如何查看 API 及使用及使用 hadoop 新新 api 编程:编程:hadoop2.4 新新 api 与旧与旧 api 调用例子对比调用例子对比说明说明 问题导读:问题导读:一直想写 hadoop 新旧 api 之间的关系,这对于爱好编程的程序猿来讲,是必备的。1.hadoop 中中 mapred 与与 mapreduce 包,那个是被弃用的?包,那个是被弃用的?2.hadoop 旧旧 api 如何初始化如何初始化 job?3.hadoop 新新 api 使用那个函数来初始化使用那个函数来初始化 job 对象?对象?程序说明:程序说明:下面的 mapreduce 程序的功
2、能只是计算文件 booklist.log 的行数,最后输出结果。分别调用旧包和新包的方法编写了两分带有 main 函数的 java 代码。a,新建了 mapreduce 工程后,先把 hadoop 的配置目录下的 xml 都拷贝到 src 目录下。b,在工程 src 同级目录旁建立 conf 目录,并放一个 log4j.properties 文件。c,src 目录下建立 bookCount 目录,然后再添加后面的子 java 文件。d,右击run as application或选择 hadoop 插件菜单run on hadoop来触发执行 MapReduce程序即可运行。 生成要分析的输入文
3、件生成要分析的输入文件 vi namelist.log 添加以下内容即可:name name name name name name name name name name name name 保存退出。执行的前请通过 hdfs 的 copyFromLocal 命令拷贝到 hdfs 的/user/hduser 用户目录下。老老 API 使用使用 mapred 包的代码包的代码 文件 BookCount.java:package bookCount;import java.io.IOException;import java.util.Iterator;import org.apache.had
4、oop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred.FileInputFormat;import org.apache.hadoop.mapred.FileOutputFormat;import org.apache.hadoop.mapred.JobClient;import org.apache.hadoop.mapred.Job
5、Conf;import org.apache.hadoop.mapred.MapReduceBase;import org.apache.hadoop.mapred.Mapper;import org.apache.hadoop.mapred.OutputCollector;import org.apache.hadoop.mapred.Reducer;import org.apache.hadoop.mapred.Reporter;import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator;publ
6、ic class BookCount public static Logger logger=Logger.getLogger(BookCount.class);public static void main(String args)throws IOException PropertyConfigurator.configure(conf/log4j.properties);logger=Logger.getLogger(BookCount.class);logger.info(AnaSpeedMr starting);System.setProperty(HADOOP_USER_NAME,
7、hduser);JobConf conf=new JobConf(BookCount.class);conf.setJobName(bookCount_sample_job);FileInputFormat.setInputPaths(conf,new Path(booklist.log);FileOutputFormat.setOutputPath(conf,new Path(booklistResultDir);conf.setMapperClass(BookCountMapper.class);conf.setReducerClass(BookCountReducer.class);co
8、nf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);JobClient.runJob(conf); static class BookCountMapper extends MapReduceBase implements Mapper Override public void map(LongWritable key,Text value,OutputCollector output,Reporter reporter)throws IOException output.collect(ne
9、w Text(booknum),new IntWritable(1);logger.info(foxson_mapper_ok);System.out.println(foxsonMapper);static class BookCountReducer extends MapReduceBase implements Reducer Override public void reduce(Text key,Iterator values,OutputCollector output,Reporter reporter)throws IOException long sumBookNum =0
10、;while(values.hasNext()sumBookNum=sumBookNum+1;values.next();logger.info(foxson_BookCountReducer_ok); output.collect(key,new LongWritable(sumBookNum);System.out.println(foxsonReduce);新新 API 使用使用 mapreduce 包的例子包的例子 文件 BookCountNew.java:package bookCount;import java.io.IOException;import org.apache.ha
11、doop.conf.Configuration;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper;import
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 查看 API 使用 hadoop 编程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内