Spring Batch
文章平均质量分 92
龙泉太阿
这个作者很懒,什么都没留下…
展开
-
(一)Spring Batch 简介
1. 什么是Spring BatchSpring Batch是由SpringSource和Accenture(埃森哲)合作开发的。Spring Batch框架通过提供丰富的即开即用的组件和高可靠性、高扩展性的能力,使得开发批处理应用的人员专注于业务的处理,提升批处理应用的开发效率,通过Spring Batch可以快速地构建出轻量级的健壮的并行处理应用。Spring Batch是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成批处理任务。它只关注批处理任务相关的问题,如事务、并发、原创 2022-03-23 16:32:09 · 1973 阅读 · 0 评论 -
Spring Batch(6)——数据库批数据读写
前序文章陆续介绍了批处理的基本概念,Job使用、Step控制、Item的结构以及扁平文件的读写。本文将接着前面的内容说明数据库如何进行批处理读写。数据读取数据库是绝大部分系统要用到的数据存储工具,因此针对数据库执行批量数据处理任务也是很常见的需求。数据的批量处理与常规业务开发不同,如果一次性读取百万条,对于任何系统而言肯定都是不可取的。为了解决这个问题Spring Batch提供了2套数据读取方案:基于游标读取数据 基于分页读取数据游标读取数据对于有经验大数据工程师而言数据库游标的操作应转载 2021-07-23 17:29:14 · 2684 阅读 · 0 评论 -
Spring Batch(5)——文件读写
在Spring batch由上至下的结构中Job、Step都是属于框架级别的的功能,大部分时候都是提供一些配置选项给开发人员使用,而Item中的Reader、Processor和Writer是属于业务级别的,它开放了一些业务切入的接口。 但是文件的读写过程中有很多通用一致的功能Spring Batch为这些相同的功能提供了一致性实现类。扁平结构文件扁平结构文件(也称为矩阵结构文件,后文简称为文件)是最常见的一种文件类型。他通常以一行表示一条记录,字段数据之间用某种方式分割。与标准的格式数据(xml、转载 2021-07-23 17:13:18 · 2756 阅读 · 0 评论 -
Spring Batch(4)——Item概念及使用代码
在 批处理概念 中介绍一个标准的批处理分为 Job 和 Step。本文将结合代码介绍在Step中Reader、Processor、Writer的实际使用。ReaderReader是指从各种各样的外部输入中获取数据,框架为获取各种类型的文件已经预定义了常规的Reader实现类。Reader通过ItemReader接口实现:public interface ItemReader<T> { T read() throws Exception, UnexpectedInputExc转载 2021-07-23 17:04:11 · 663 阅读 · 1 评论 -
Spring Batch(3)——Step控制
批处理任务的主要业务逻辑都是在Step中去完成的。可以将Job理解为运行Step的框架,而Step理解为业务功能。Step配置Step是Job中的工作单元,每一个Step涵盖了单行记录的处理闭环。下图是一个Step的简要结构:一个Step通常涵盖三个部分:读数据(Reader)、处理数据(Processor)和写数据(Writer)。但是并不是所有的Step都需要自身来完成数据的处理,比如存储过程等方式是通过外部功能来完成,因此Spring Batch提供了2种Step的处理方式:1)面向分转载 2021-07-23 16:47:19 · 2716 阅读 · 0 评论 -
Spring Batch(2)——Job配置与运行
在 Spring Batch(1)——数据批处理概念 文中介绍了批处理的概念以及Spring Batch相关的使用场景,后续将会陆续说明在代码层面如何使用。引入Spring batch的引入非常简单,只需要引入Spring Framework、Datasource以及Spring Batch。在Spring Boot体系下只需引入spring-boot-starter-batch 即可。他已经涵盖了以上所有内容。Job配置Job接口有多种多样的实现类,通常我们使用configuration类转载 2021-07-23 15:38:25 · 1188 阅读 · 0 评论 -
Spring Batch(1)——数据批处理概念
批处理的核心场景从某个位置读取大量的记录,位置可以是数据库、文件或者外部推送队列(MQ)。 根据业务需要实时处理读取的数据。 将处理后的数据写入某个位置,可以是数据库、文件或者推送到队列。Spring Batch能解决的批处理场景Spring Batch为批处理提供了一个轻量化的解决方案,它根据批处理的需要迭代处理各种记录,提供事物功能。但是Spring Batch仅仅适用于"脱机"场景,在处理的过程中不能和外部进行任何交互,也不允许有任何输入。Spring Batch的目标开发人员仅转载 2021-07-23 15:14:17 · 1658 阅读 · 0 评论