- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教你如何查看API及使用hadoop新api编程
教你如何查看API
及使用hadoop 新api 编程:
hadoop2.4 新api 与旧api 调用例子对比
说明
问题导读:
一直想写hadoop 新旧api 之间的关系,这对于爱好编程的程序猿来讲,是必备的。
1.hadoop 中mapred 与mapreduce 包,那个是被弃用的?
2.hadoop 旧api 如何初始化jo b?
3.hadoop 新api 使用那个函数来初始化job 对象?
程序说明:
下面的mapreduce 程序的功能只是计算文件booklist.log 的行数,最后输出结果。
分别调用旧包和新包的方法编写了两分带有main 函数的java 代码。
a,新建了mapreduce 工程后,先把hadoop 的配置目录下的xml 都拷贝到src 目录下。
b,在工程src 同级目录旁建立conf 目录,并放一个perties 文件。
c, src 目录下建立bookCount 目录,然后再添加后面的子java 文件。
d, 右击run as application或选择hadoop 插件菜单run on hadoop来触发执行MapReduce
程序即可运行。
生成要分析的输入文件
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.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.mapred.FileInputFormat;
import org.apache.hadoop.mapred.FileOutputFormat;
import org.apache.hadoop.mapred.JobClient;
import org.apache.hadoop.mapred.JobConf;
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;
public class BookCount {
public static Logger logger = Logger.getLogger(BookCount.class);
public static void main(String[] args) throws IOException {
PropertyConfigurator.configure(conf/perties);
logger = Logger.getLogger(BookCount.class);
文档评论(0)