excel 批处理框架
- github
- 框架开源由我1人开发维护,欢迎感兴趣的同道交流或提交 PR
- 框架已支撑京东司南平台线上批处理模块的日常运行,日均导入、导出数据量在百万级别
企业级项目里,excel的导入导出需求是十分常见的
一般做法都会基于 POI 或者阿里的 EasyExcel 处理
数据量较大时,通常会遇到以下问题:
- 任务跑死没有结果,只能通过线上日志排查
- 同步阻塞或单线程处理IO密集型任务,速度较慢
- 导入导出的字段经常需要增减,逻辑经常变化,需要修改代码
- …
框架概述
- 框架多线程、少阻塞地处理导入导出任务,性能较高
- 适用于导入十分频繁且数据量较大场景(几十万至百万)
- 导入导出基于模板字段级完全配置化,支持自定义校验和写入逻辑
- 导出支持同时从 mapper sql 和已有业务方法两种方式抽取数据
- …
快速开始
- 引入依赖
以spring boot starter的形式引入应用
- gradle
1 |
|
- maven
1 |
|
至少实例化一个默认的 javax.sql.Datasource
框架内部用到数据库,实现无所谓,HikariDataSource,DruidDataSource等
推荐 Hikari,如其名的光速,性能上较 Druid 更强,目前最为优秀的数据库连接池必须实现 com.mycx26.base.service.file.CloudFileService 接口为单例供框架启动注入
框架很多场景涉及文件处理
比如导入校验错误的 excel 需要上传到云存储保存供用户下载查看等
实现无所谓,比如京东的JFS,腾讯的CFS等
例子
todo
mybatch 框架
https://mywill26.github.io/2022/07/10/mybatch/