Spring-Hadoop项目 http://blog.csdn.net/pelick/article/details/8331798

 

Spring-hadoop这个项目应该是在Spring Data项目的一部分(Srping data其余还包括把Spring和JDBC,REST,主流的NoSQL结合起来了)。其实再一想,Spring和Hadoop结合会发生什么呢,其实就是把Hadoop组件的配置,任务部署之类的东西都统一到Spring的bean管理里去了。

开门见山

话不多说,先来个例子看看吧。MapReduce里有个类似与”Hello World”的example,就是”Word Count”,在Spring Hadoop里,它长这样:

可以看到任务的参数配置和提交都由IoC容器来管理。Mapper和Reducer里需要额外参数的话,也可以进行配置。

同时,Spring Hadoop并不要求MapReduce程序必须由Java编写,你用别的语言编写的Streaming job都可以无缝结合在Spring配置里跑起来,这些jobs都是objects,对于Spring来说,都是beans

此外现有的其他的Hadoop实现工具也支持。比如下面这个Twitter的Scalding(它是一个用来写MapReduce任务的Scala库)

关键特性

总之能把Hadoop各成员的配置,创建都和Spring的容器结合起来,得到统一的管理。

继续例子

再来看几个代表性的例子。

HBase和Pig:

Hive的:

下面例子是用Groovy进行HDFS上的文件操作,目的是说明能将JVM支持的语言同HDFS进行交互操作。

总结

更具体的说明和使用可以参看github上的spring-hadoop项目。

(全文完)