首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Hadoop MapReduce程序编纂备忘

2012-07-08 
Hadoop MapReduce程序编写备忘最近在编写Hadoop 的MapReduce程序的时侯,学到了不少东西,记下来备忘:1. ?Ma

Hadoop MapReduce程序编写备忘

最近在编写Hadoop 的MapReduce程序的时侯,学到了不少东西,记下来备忘:

1. ?Mapper和Reducer的上下文执行环境信息:

?? 在编写Mapper类时,一般使用如下的类继承声明:

?

public static void addInputPath(JobConf conf, Path path, Class<? extends InputFormat> inputFormatClass) ;public static void addInputPath(JobConf conf, Path path, Class<? extends InputFormat> inputFormatClass, Class<? extends Mapper> mapperClass) 
?

?

根据提供的方法,就可以看到MultipleInputs的强大了吧。也就是说使用MultipleInputs你可以使用两个完全不同的输入类型,一个可能是TextInputFormat,另一个则可能是SeqFileInputFormat,也可能是DBInputFormat。而针对每一种输入类型,你还可以指定对应的Mapper类,强大的MultipleInputs可以对不同的输入类型进行融合,消化,然后传给reduce方法进行处理。

?

?

4. 多个Job的依赖关系JobControl

?

??使用JobControl可以控制多个Job之间的依赖关系。实现workflow的效果。例如Job2需要在Job1干完之后才能开始干活,那该怎么办?总不能Job1启动执行结束后再启动Job2吧。

?

使用JobControl可以实现工作流。

在JobControl中可以设置Job与Job之间的依赖关系。JobControl根据依赖关系进行Job的调度。 JobControl实现了Runnable接口,意味着这个类可以在线程中启动运行。在运行时,我们可以调用JobControl的getRunningJobs获取到正在运行的Job。Job里面的JobClient可以得到Job运行的详细信息。

?

?

?

热点排行