SpringSource发布了Spring for Apache Hadoop 1.0。 开发者能够通过它编写基于Spring Framework的Hadoop应用,还能很容易地与Spring Batch和Spring Integration集成。Spring for Apache Hadoop是Spring Data大型项目的一个子项目,它基于开源的Apache 2.0许可发布。

Hadoop应用通常是一个命令行工具、脚本和代码的集合。Spring for Apache Hadoop为Hadoop应用开发提供了一个一致性的编程模型和声明式配置模型。开发人员现在能够借助它使用Spring编程模型(依赖注入、POJO 和辅助模板)实现Hadoop应用,并且能够以标准的Java应用而不是命令行工具的方式运行它。Spring for Apache Hadoop支持对HDFS的读写操作,支持运行MapReduce、流或者级联工作,还能够与HBase、Hive和Pig交互。

Spring for Apache Hadoop包含以下关键特性:

  • 支持声明式配置,能够创建、配置和参数化Hadoop连接,支持MapReduce、流、Hive、Pig和级联工作。有不同的 “runner”类执行不同的Hadoop交互类型,它们分别是JobRunner、ToolRunner、 JarRunner、 HiveRunner、 PigRunner、CascadeRunner和HdfsScriptRunner。
  • 全面的HDFS数据访问支持,可以使用所有基于JVM的脚本语言,例如Groovy、JRuby、Jython和Rhino。
  • 支持 Pig和Hive的模板类PigTemplate和HiveTemplate。这些辅助类提供了异常转化、资源管理和轻量级对象映射功能。
  • 支持对HBase的声明式配置,同时为Dao层支持引入了HBaseTemplate。
  • 声明和编程支持Hadoop工具,包括文件系统Shell(FsShell)和分布式复制(DistCp)。
  • 安全支持。Spring for Apache Hadoop清楚运行Hadoop环境的安全约束,因此能够透明地从一个本地开发环境迁移到一个完全Kerberos安全的Hadoop集群。
  • 支持Spring Batch。通过Spring Batch,多个步骤能够被调整为有状态的方式并使用REST API进行管理。例如,Spring Batch处理大文件的能力就可以被用于向HDFS导入或者从HDFS导出文件。
  • 支持Spring Integration。Spring Integration允许对那些在被读取并写入HDFS及其他存储之前能够被转换或者过滤的事件流进行处理。

下面是配置示例和代码片段,大部分来自于Spring for Hadoop博客或者参考手册。

MapReduce

<!-- use the default configuration -->
<hdp:configuration />
<!-- create the job -->
<hdp:job id="word-count" input-path="/input/" output-path="/ouput/"mapper="org.apache.hadoop.examples.WordCount.TokenizerMapper"reducer="org.apache.hadoop.examples.WordCount.IntSumReducer" />
<!-- run the job -->
<hdp:job-runner id="word-count-runner" pre-action="cleanup-script" post-action="export-results" job="word-count" run-at-startup="true" />

HDFS

<!-- copy a file using Rhino -->
<hdp:script id="inlined-js" language="javascript" run-at-startup="true">importPackage(java.util)name = UUID.randomUUID().toString()scriptName = "src/main/resources/hadoop.properties"// fs - FileSystem instance based on 'hadoopConfiguration' beanfs.copyFromLocalFile(scriptName, name)
</hdp:script>

HBase

<!-- use default HBase configuration -->
<hdp:hbase-configuration /><!-- wire hbase configuration -->
<bean id="hbaseTemplate" class="org.springframework.data.hadoop.hbase.HbaseTemplate" p:configuration-ref="hbaseConfiguration" />
// read each row from HBaseTable (Java)
List rows = template.find("HBaseTable", "HBaseColumn", new RowMapper() {@Overridepublic String mapRow(Result result, int rowNum) throws Exception {return result.toString();}
}));

Hive

<!-- configure data source -->
<bean id="hive-driver" class="org.apache.hadoop.hive.jdbc.HiveDriver" />
<bean id="hive-ds" class="org.springframework.jdbc.datasource.SimpleDriverDataSource" c:driver-ref="hive-driver" c:url="${hive.url}" /><!-- configure standard JdbcTemplate declaration -->
<bean id="hiveTemplate" class="org.springframework.jdbc.core.JdbcTemplate" c:data-source-ref="hive-ds"/>

Pig

<!-- run an external pig script -->
<hdp:pig-runner id="pigRunner" run-at-startup="true"><hdp:script location="pig-scripts/script.pig"/>
</hdp:pig-runner>

如果想要开始,可以下载Spring for Apache Hadoop或者使用org.springframework.data:spring-data-hadoop:1.0.0.RELEASE  Maven构件。还可以获取Spring for Hadoop的WordCount示例。在YouTube上还有介绍Spring Hadoop的网络会议。

Spring for Apache Hadoop需要JDK 6.0及以上版本、Spring Framework 3.0及以上版本(推荐使用3.2)和Apache Hadoop 0.20.2 (推荐1.0.4)。现在并不支持Hadoop YARN、NextGen或 2.x。支持所有的Apache Hadoop 1.0.x分布式组件,这些分布式组件包括vanilla Apache Hadoop、Cloudera CDH3、CDH4和Greenplum HD等。

想要获取更深入的信息,你可以阅读Spring for Apache Hadoop 参考手册 和 Javadoc。Spring for Apache Hadoop 的源代码和示例托管在GitHub上。

转载于:https://www.cnblogs.com/shihao/archive/2013/03/30/2991086.html

Spring for Apache Hadoop 1.0发布相关推荐

  1. Spring for Apache Hadoop 1.0 GA

    Spring总是惊喜不断,这次又提供了Spring Hadoop模块,方便开发人员使用hadoop不少 Spring Hadoop 终于发布了 1.0 的正式版,该版本据首个里程碑发布到现在已经 1 ...

  2. 适用于Apache Hadoop 2.0 M5的Spring

    Spring高兴地宣布了Spring for Apache Hadoop 2.0 M5里程碑版本,同时它们也越来越接近候选版本. 在Spring博客中 ,新版本2.0与1.0版本之间有很好的比较. 根 ...

  3. Apache Hadoop 3.0.0 GA版正式发布,可以部署到线上

    今天凌晨 Apache Hadoop 3.0.0 GA 版本正式发布,这意味着我们就可以正式在线上使用 Hadoop 3.0.0 了!这个版本是 Apache Hadoop 3.0.0 的第一个稳定版 ...

  4. 微信团队回应“部分用户朋友圈无法刷新”;罗永浩:准备做综艺节目;Apache Spark 3.0 发布| 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...

  5. 重磅!Apache Kafka 3.0 发布!

    我很高兴代表 Apache Kafka® 社区宣布 Apache Kafka 3.0 的发布.Apache Kafka 3.0 是一个涉及多方面的大版本.Apache Kafka 3.0 引入了各种新 ...

  6. Spring Boot Admin 2.2.0发布,支持最新Spring Boot/Cloud之外,新增中文展示!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 冷冷gg 来源 | oschina.net/n ...

  7. Apache Spark 3.0 预览版正式发布,多项重大功能发布

    今天早上 06:53(2019年11月08日 06:53) 数砖的 Xingbo Jiang 大佬给社区发了一封邮件,宣布 Apache Spark 3.0预览版正式发布,这个版本主要是为了对即将发布 ...

  8. Apache Kafka 3.0 版本发布

    Apache Kafka 3.0 发布, 发布日志:Kafka 我很高兴代表 Apache Kafka® 社区宣布 Apache Kafka 3.0 的发布.Apache Kafka 3.0 是一个涉 ...

  9. Apache Hadoop 2.7如何支持读写OSS

    背景 2017.12.13日Apache Hadoop 3.0.0正式版本发布,默认支持阿里云OSS对象存储系统,作为Hadoop兼容的文件系统,后续版本号大于等于Hadoop 2.9.x系列也支持O ...

最新文章

  1. Python——raise引发异常
  2. Kafka消费者详解
  3. hdu 5617 Jam's maze(双线程dp)
  4. [Android Pro] Android 6.0 Root
  5. 【04】AngularJS 表达式
  6. 小程序 textarea ios兼容解决
  7. Bailian4097 报站【暴力】
  8. 彻底删除mysql server 2005_sql2005卸载工具(sql server 2005卸载工具)
  9. 混凝土静力受压弹性模量试验计算公式_C50混凝土静力受压弹性模量试验报告
  10. spring实战(第四版)读书笔记 附电子书网盘链接
  11. 6. 测度论-期望及其性质
  12. 外篇 评相对论
  13. PAT合集1096 大美数 (15 分)
  14. 移动应用的必杀技:超级app+轻应用
  15. Python类和包的介绍
  16. onvif python 音视频_python3控制基于onvif的安防摄像头
  17. 微博、腾讯视频(部分)提取器-- 前端Vue.js篇
  18. [Apple Shapr3D]【续更】【shapr3D】认识Shapr3D,一个简单易用的设计类软件
  19. 全职宝妈卖出去5万多元的保暖袜子 只用这一招截流
  20. Epoll触发事件的类型(转载)

热门文章

  1. 西门子for循环例子_理解JavaScript中的循环缺陷和迭代协议
  2. viewcube翻译_view cube是什么意思
  3. observable java_java源码阅读Observable(观察者模式)
  4. sql between包括两端吗_技术分享:T-SQL 之语法艺术(一)
  5. 电脑主板接口_电脑主板接口大全
  6. weblogic 文件服务器,weblogic配置文件服务器
  7. Python风格总结: 复制列表
  8. 转载:如何规范地编写一个MATLAB函数文件
  9. visio中虚线粘贴到word中变实线的解决办法(转)
  10. 消失模设计与加工(FM-CAM)