Spring Batch批处理框架初探
来源:互联网 发布:安装ubuntu分区顺序 编辑:程序博客网 时间:2024/05/18 17:02
关于spring batch
spring batch就是一个轻量级的批处理框架,他的轻量级是相对于MapReduce、Spark之类的集群批处理架构来说的。虽然spring batch支持机器集群,但是多用的是单机的多线程并行处理。
大家都知道MapReduce适合超大型数据量的批量处理,对于几分钟,几十秒钟的处理就不要放到Mapreduce上了,这只会让处理时间更长,因为MapReduce的任务分配和启动过程就要消耗1-2分钟。
另外对于一些不是特别复杂的批处理,如果手头没有Hadoop这样的集群可用,而且一台电脑多线程处理就足够应付时,spring batch会是一个很好的选则。(当然,如果写一个简单的批处理脚本够用,那么,首选批处理脚本。)
但是,由于官方的教程不太适合初学者不快速的上手,这篇教程是大概两个礼拜时间集中看spring batch相关内容的总结。这里整理的顺序将会尽量从适合学习和入门。
spring batch能做什么?
spring batch用来做批处理,批处理最早基本用来指脚本,比如批处理脚本,就是把一系列的操作写到一个bat或者sh文件里面,一次调用,脚本里面的一系列操作就按照顺序逐条指令执行了。
也就是说,批处理首先是能够包含一系列的处理指令,并且可以指定顺序,然后这些指令按照指定的顺序执行。然而现如今是一个分布式的时代,和一个水平扩展远大于单机性能的时代,大多优秀的产品都在支持并行或者集群,spring batch在这两方面支持的怎么样呢?
spring batch具备工作流引擎的相似功能,可以在xml配置文件中配置一系列相互关联的步骤。你需要配置一个任务(Job),在任务里面定义多个Step,Step和Step之间通过next标签指明前后关系。
同时,他支持同一个任务的多线程、多进程、多服务器处理。接下来把相关资料分类整理如下:
基本使用
sping batch的最简单程序
在这个最简单的示例中,你会看到组成Job的Step可以是自定义的一个tasklet,也可以是使用spring batch提供的标准的ItemReader、ItemProcesser、ItemWriter组成的一个tasklet。
不同文件类型的读写示例
spring batch默认支持文本文件、XML文件、数据库的读和写,提供了内置的ItemReader和ItemWriter。
配置复杂的业务流程
结合quartz或者spring schedule定时触发
quartz+spring batch做到定时触发批处理任务
spring schedule + spring batch定定时触发-英文
多文件读入
Spring Batch MultiResourceItemReader example
spring batch并行处理
spirng batch并行与扩展
这一篇是中文的,写的其实不如官网清楚,下面是官网的地址:
Scaling and Parallel Processing
事件监听
SPRING BATCH 错误通知机制
spring batch admin管理job运行
spirng batch admin工具介绍
文章写的不是特别详细,但是已经给出了足够的线索,也就是需要把JobRepository定义成数据库存储形式。
配置JobRepository-官网
- Spring Batch批处理框架初探
- Spring Batch 批处理框架
- Spring Batch 批处理框架
- Spring batch批处理框架
- Spring Batch 批处理框架
- Spring Batch批处理框架
- Spring Batch 批处理框架介绍
- Spring Batch批处理框架了解
- Spring Boot 集成 批处理框架Spring batch
- 图书简介:Spring Batch批处理框架
- 大数据批处理框架Spring Batch
- 大数据批处理框架 Spring Batch
- 9.2 批处理Spring Batch
- spring batch批处理框架把csv文件读入数据库
- 大数据批处理框架 Spring Batch全面解析
- 一篇文章全面解析大数据批处理框架Spring Batch
- 大数据批处理框架Spring Batch大解析
- 大数据批处理框架 Spring Batch全面解析
- 简单输出圣诞树和爱心
- 使用 jsoup 对 HTML 文档进行解析和操作
- JAVA中的数组
- mybatis打印SQL日志最终解决方案
- 堆的创建、插入、删除
- Spring Batch批处理框架初探
- 面向对象
- Unity资源热更之AssetBundle(2)———旧版本AssetBundle
- MacBook Air 13.3系统恢复及Windows 10安装心得
- 学习整理——Java序列化
- hdu 5878 I Count Two Three 2016ACM/ICPC青岛赛区网络赛1001
- hdu 5879 Cure 2016ACM/ICPC青岛赛区网络赛1002
- UE4修改源码对项目进行加密
- 自学计算机基础