springbatch并行处理_Springboot官方例子--用Spring Batch处理批量作业

继续给大家带来Springboot官方例子中文翻译版:本例将指导您完成创建批处理程序解决各种批量作业的过程。Spring Batch是一个专门处理批处理的子项目,是一个轻量级的大数据量的并行处理(批处理)的框架。作用和Hadoop很相似,不过Hadoop是基于重量级的分布式环境(处理巨量数据),而SpringBatch是基于轻量的应用框架(处理中小数据)。如果你只是业务需求不是很大的JAVA应用,可以参考用Spring Batch。本例您将构建一个从csv表格导入数据、转换数据并将最终结果存储在数据库中的服务。

86cf747e0b1fa84a0711ea4cb838634a.png

程序结构

└── src └── main └── java └── hello

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>4.0.0org.springframework gs-batch-processing 0.1.0org.springframework.boot spring-boot-starter-parent 2.1.6.RELEASE1.8org.springframework.boot spring-boot-starter-batch org.hsqldb hsqldb org.springframework.boot spring-boot-maven-plugin 

Spring Boot将会你做如下的事:

  • 将 classpath 里面所有用到的jar包构建成一个可执行的 JAR 文件,方便执行你的程序
  • 搜索public static void main()方法并且将它当作可执行类
  • 根据springboot版本,去查找相应的依赖类版本,当然你可以定义其它版本。

业务数据

本次用到的业务数据如下:

src/main/resources/sample-data.csv

Jill,DoeJoe,DoeJustin,DoeJane,DoeJohn,Doe

此电子表格在每一行中包含名字和姓氏,用逗号分隔

接下来,编写一个SQL脚本来创建一个表来存储数据。

src/main/resources/schema-all.sql

DROP TABLE people IF EXISTS;CREATE TABLE people ( person_id BIGINT IDENTITY NOT NULL PRIMARY KEY, first_name VARCHAR(20), last_name VARCHAR(20));

Springboot在启动期间自动运行schema-@@platform@@.sql。-all是所有平台的默认值。

创建业务类

现在您看到了数据输入和输出的格式,您可以编写代码来表示一行数据。

src/main/java/hello/Person.java

package hello;public class Person { private String lastName; private String firstName; public Person() { } public Person(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } @Override public String toString() { return "firstName: " + firstName + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值