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中定期将日志推送到Hadoop的HDFS系统中进行存储和进一步的分析处理。 #### 分层架构 Spring Batch采用了清晰的分层架构设计,主要包括以下几个层面: - *...
这本书旨在帮助读者理解和掌握如何使用Spring Batch进行大规模数据处理作业的设计与实施。 ### Spring Batch概览 Spring Batch是Spring框架的一个模块,专门用于处理大量的记录或数据批处理作业。它提供了一种灵活...
在Java开发领域,Spring Boot和Spring Batch的整合是构建高效...通过学习和实践这个示例,你不仅可以掌握如何在Spring Boot中使用Spring Batch,还能了解批处理的最佳实践,这对于处理大数据量的应用场景非常有价值。
Spring Batch适用于多种应用场景,包括但不限于: - 大批量数据迁移 - 数据清理和转换 - 定期报告生成 - 数据库备份与恢复 #### 架构 Spring Batch的架构设计围绕着Job、Step、JobRepository、JobLauncher、...
spring batch 学习多种场景练习demo项目源码,包括: 1.读取文件--处理--写入文件; 2.读取文件--处理--写入数据库 ; 3.读数据库--处理--写入数据库; 4.读数据库--处理--写入文件; 文件类型包括:CSV,TXT,JSON,XML; ...
《Spring Batch In Action》这本书由Arnaud Cogoluegnes、Thierry Templier、Gary Gregory和Olivier Bazoud共同编写,是Spring框架系列书籍中的一个重要组成部分,主要聚焦于Spring Batch这一子项目。Spring Batch是...
Spring Batch 适用于多种场景,包括但不限于: - 数据迁移:将大量数据从旧系统迁移到新系统。 - 定期报告:定期从数据库中提取数据并生成报告。 - 数据同步:在不同的系统之间同步数据。 - 大量交易处理:如银行...
Spring Batch是Spring框架的一个重要组成部分,专注于提供一个健壮、可扩展且易于使用的批处理应用解决方案。本文档将深入探讨Spring Batch的架构、功能以及如何配置和运行批处理作业,为开发人员提供全面的理解与...
**Spring Batch** 是一个构建于 **Spring Framework** 之上的强大批处理框架,它主要用于处理大量的数据记录,如日志文件、数据库导出等场景。该框架提供了一种灵活且可扩展的方式来定义批处理作业,使得开发人员...
Spring Batch 是一个强大的Java框架,专门用于处理批量数据处理任务。在Spring Batch中,分区处理是一种优化策略,它将大型工作负载分解成多个较小、独立的任务,这些任务可以在不同的线程或甚至不同的节点上并行...
#### 第2章:Spring Batch入门 这一章是Spring Batch的入门教程,涵盖了基本的术语和概念,如作业(Job)、步骤(Step)和任务执行器(Task Executor)。它还介绍了如何创建第一个Spring Batch作业,包括配置和执行...
- **配置文件**:Spring Batch 使用 XML 或 Java 配置文件来定义 Job 和 Step 的配置信息。 - **运行方式**:可以通过多种方式启动 Job,包括但不限于使用 Spring Boot 应用程序、命令行工具或者集成到现有应用中。 ...
Spring Boot 集成了大量的扩展模块,如 Spring Data、Spring Security、Spring Batch 等,使得开发者可以轻松地将这些功能集成到应用中。这些模块提供了丰富的功能,覆盖了大多数应用场景,有助于快速构建功能完善的...
### ElasticJob与SpringBatch的结合使用 #### 一、引言 随着大数据和微服务架构的兴起,数据处理的需求越来越复杂。在很多场景下,我们需要处理海量数据,并且要保证数据处理的一致性和顺序性。为此,业界发展出了...
Spring Batch的使用场景主要集中在需要定时执行的复杂业务规则处理、以及海量数据的自动业务逻辑处理。这类批处理作业通常需要极高的效率且不需要人工干预,常见的包括月末统计、账单处理、保险赔款计算等。 Spring...
Spring Batch 是一个强大的批处理框架,它为Java开发者提供了处理大量数据的能力,广泛应用于企业级应用和大数据处理中。在本文中,我们将深入探讨Spring Batch的各个方面,包括其概念、结构、执行流程以及如何在...
你可以通过阅读和运行该项目的代码来进一步理解SpringBatch如何应用于实际场景。 总的来说,SpringBatch提供了一套完整且灵活的批处理解决方案,结合IDEA的强大开发环境,能够帮助开发者高效地构建和管理批量数据...
这个"Spring Batch学习demo项目源码"是针对Spring Batch进行学习实践的一个实例,旨在帮助开发者了解并掌握如何在实际应用中使用Spring Batch。 在源码中,`batch-xml`文件可能是配置文件,通常在Spring Batch项目...