- 内容提要
- 序
- 前言
- 第一部分 背景知识
- 第 1 章 Spring Data 项目
- 第 2 章 Repository:便利的数据访问层
- 第 3 章 使用 Querydsl 实现类型安全的查询
- 第二部分 关系型数据库
- 第 4 章 JPA Repository
- 第 5 章 借助 Querydsl SQL 实现类型安全的 JDBC 编程
- 第三部分 NoSQL
- 第 6 章 MongoDB: 文档存储
- 第 7 章 Neo4j:图数据库
- 第 8 章 Redis:键/值存储
- 第四部分 快速应用开发
- 第 9 章 使用 Spring Roo 实现持久层
- 第 10 章 REST Repository 导出器
- 第五部分 大数据
- 第 11 章 Spring for Apache Hadoop
- 第 12 章 使用 Hadoop 分析数据
- 第 13 章 使用 Spring Batch 和 Spring Integration 创建大数据管道
- 第六部分 数据网格
- 第 14 章 分布式数据网格:GemFire
- 关于封面
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
11.6 结合 HDFS 脚本与 Job 提交
基本的 Hadoop 应用程序都会包含一些 HDFS 操作与一些 job 提交的任务。可以使用 JobRunner 的 pre-action 和 post-action 属性将这些任务排序,让 HDFS 脚本操作在 job 提交之前或者之后执行,示例 11-29 说明了这一点。
示例 11-29 在 Bean 之间使用依赖关系来控制执行顺序
pre-action 属性引用 setupScript Bean,这个 Bean 又引用 copy-files.groovy 脚本,该脚本会重置系统的状态,这样不需要任何的命令行交互即可运行或重新运行这个程序。示例 11-30 说明了使用命令来构建和运行应用程序的方式。
示例 11-30 构建并运行基于 Spring 的 wordcount 应用程序
示例 11-31 的配置让 JobRunner 在执行多个 Hadoop job 之前与之后执行一些 HDFS 脚本。JobRunner 也实现了 Java 的 Callable 接口,它使用了 Java 的 Executor 框架让 JobRunner 的执行变得更为简单。这个方法在执行简单的工作流程时很方便,但是随着应用程序变得更为复杂,它并不能提供更多的帮助。针对 Hadoop 的扩展 Spring Batch 将处理 HDFS 与 job 操作链作为首要任务,这个时候就可以派上用场。我们将在 13.2 小节 “Hadoop 工作流”中探讨这些扩展。
示例 11-31 配置 JobRunner 来执行多个 HDFS 脚本和 job
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论