spring batch 给出了如下几个使用场景
商用场景
- Commit batch process periodically
- Concurrent batch processing: parallel processing of a job
- Staged, enterprise message-driven processing
- Massively parallel batch processing
- Manual or scheduled restart after failure
- Sequential processing of dependent steps (with extensions to workflow-driven batches)
- Partial processing: skip records (e.g. on rollback)
- Whole-batch transaction: for cases with a small batch size or existing stored procedures/scripts
我自己的想法来看的话,我觉得spring batch只是存在与一般的java程序与hadoop的模糊界限地带。spring batch所能做的,hadoop都能做。但是spring batch写了一个java batch job framework,它的作用就是帮你管理好你的job,各种监控,流程控制,重启等,也可以说是一个标准,免得你自己写一个frameword的时候,漏掉很多细节。
不过你要把spring batch的工作都放到hadoop里面做,可能hadoop有点大柴小用了,此外,还有以下几点考量
1. 学习梯度
学习梯度很重要,hadoop上手挺不容易的,写好一个M/R也不是那么简单的,如果你简单的new File()都可能让你的hadoop挂掉。spring batch 有与 spring 结合的很好,学习梯度小,例子也很多。spring batch 最好的还是job管理,这点的话hadoop有些东西还是得配置。此外你spring batch 配置Master/Slaver也比hadoop快捷的多。
2. 成本需求
成本除了机器成本之外,人力成本也是很重要的。与其搞一个team来弄hadoop,不如让程序员自己看看spring batch
3. 快速部署
spring batch最棒就是他的job管理,step的灵活配置,与spring的无缝结合,hadoop还要自己写一些处理逻辑
总结:
spring batch 对于处理批量任务还是挺棒的,hadoop更加有利于数据挖掘之类。spring batch适合规模不算太大的数据处理,hadoop那肯定是上规模的计算与处理了。spring batch应该是job的偏管理这块,而hadoop应该是偏计算这快。
以后发展方向可能要经常与spring batch,hadoop,data mining打交道了。
分享到:
相关推荐
spring batch 学习多种场景练习demo项目源码,包括: 1.读取文件--处理--写入文件; 2.读取文件--处理--写入数据库 ; 3.读数据库--处理--写入数据库; 4.读数据库--处理--写入文件; 文件类型包括:CSV,TXT,JSON,XML; ...
本篇文章主要介绍了浅谈Spring Batch在大型企业中的最佳实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Springbatch开启任务通常有如下两种方式,通过定时任务或者通过接口调用,定时任务使用简单,适用于数据来源稳定不需要过多外部参数干扰的情形,而接口的方式更加灵活,可以通过外部进行参数配置满足复杂的数据...
主要实现批量数据的处理,我对batch进行的封装,提出了jobBase类型,具体job需要实现它即可。这篇文章主要介绍了springbatch的封装与使用 ,需要的朋友可以参考下
涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用监控、分布式系统开发等。 第一部分 点睛Spring 4.x 第1 章 Spring ...
涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用监控、分布式系统开发等。 第一部分 点睛Spring 4.x 第1 章 Spring ...
Spring Batch入门的便捷方法 通过基于Web的用户界面启动/停止/重新启动作业 观察工作/步骤进度和状态。 步骤可以生成可以在UI中显示的输出。 通常是报告,脚本日志,堆栈跟踪等。 提供针对不同使用场景的...
涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用监控、分布式系统开发等。 第一部分 点睛Spring 4.x 第1 章 Spring ...
对账模块 采用轻量级的批处理框架SpringBatch框架进行日终交易清算时的对账处理,同时使 用SpringBoot类库中的ThreadPoolTaskScheduler类实现对账模块的定时任务调度。 后台管理模块用于银行工作人员对本系统业务...
涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用监控、分布式系统开发等。, 当你学完《JavaEE开发的颠覆者: Spring ...
可以和EJB集成,也可与Spring集成,也可以单独使用。整个框架只有两个JAR包,模块和功能都较为轻量。依赖少 整个框架只有三个jar库。间接依赖仅有commons-lang, slf4j等7个通用库,作为一个ORM框架,对第三方依赖极...