`
beneo
  • 浏览: 54390 次
  • 性别: Icon_minigender_1
  • 来自: 希伯來
社区版块
存档分类
最新评论

#2 spring batch 使用场景

阅读更多
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打交道了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics