大数据-四

运行测试

这里有点疑问,在运行测试时,首先导入hadoop路径(export HADOOP_CLASSPATH=hadoop-example.jar)

hadoop <类名>  <路径输出文件名> output ?

hadoop命令第一个参数是类名,hadoop就会启动一个jvm来运行这个类,前提是定义了HADOOP_CLASSPATH,然后就可以用Hadoop脚本执行;

新旧的API明显区别:新API倾向于使用虚类,而不是接口,这样有利于扩展;这意味着用不着改变类的实现,即可在虚类中添加一个方法(即默认实现)

虚类和接口的区别及定义;

新API在org.apache.hadoop.mapreduce包下;旧的在org.apache.hadoop.mapred中;

新API充分使用上下文对象,使用户代码能与MapReduce系统通信,例如,新的Context基本统一了旧API中的JobConf.OutputCollector和Reporter的功能;

键/值对记录这两类API中都推给了maper和reducer,除此之外,新的API通过重写Run()方法允许maper和reducer控制执行流程,

旧的通过写MapRunable类在mapper中实现上述功能,但在reducer中没有对等实现;

新增API对配置做了统一,旧的是用了JobConf对象配置作业,行的是由Configuration或job类的辅助方法;

输出文件命名方式稍有不同旧的输出统一为part-nnmm,新的map为part-m-nnnnn,reduce的为part-r-nnnnnn其中nnnn是从0开始的表示分块序号的整数;

新的API中的用户重载函数被声明抛出异常java.lang.InterrutedException这意味着可以用代码来实现中断响应从而取消长时间作业;在新的API中,reduce()传递的

值是java.lang.Iterable类型,而非java.lang.Iterator这一改变可以使我们使用for-each;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值