『埃尔法哥哥』一文搞懂大数据批量处理框架Spring Batch的完美解析方案是什么( 六 )
分区处理:通过数据分区后 , 不同的数据已经被分配到不同的作业步执行器中 , 接下来需要交给分区处理器进行作业 , 分区处理器可以本地执行也可以远程执行被划分的作业 。 接口PartitionHandler定义了分区处理的逻辑 , Spring Batch批处理框架默认实现了本地多线程的分区处理org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler;也可以自行扩展接口PartitionHandler来实现自定义的分区处理逻辑 。
本文插图
Spring Batch框架提供了对文件分区的支持 , 实现类org.springframework.batch.core.partition.support.MultiResourcePartitioner提供了对文件分区的默认支持 , 根据文件名将不同的文件处理进行分区 , 提升处理的速度和效率 , 适合有大量小文件需要处理的场景 。
本文插图
示例展示了将不同文件分配到不同的作业步中 , 使用MultiResourcePartitioner进行分区 , 意味着每个文件会被分配到一个不同的分区中 。 如果有其它的分区规则 , 可以通过实现接口Partitioner来进行自定义的扩展 。 有兴趣的TX , 可以自己实现基于数据库的分区能力哦 。
总结一下 , 批处理框架在扩展性上提供了4中不同能力 , 每种都是各自的使用场景 , 我们可以根据实际的业务需要进行选择 。
本文插图
批处理框架的不足与增强
Spring Batch批处理框架虽然提供了4种不同的监控方式 , 但从目前的使用情况来看 , 都不是非常的友好 。
本文插图
通过DB直接查看 , 对于管理人员来讲 , 真的不忍直视;
通过API实现自定义的查询 , 这是程序员的天堂 , 确实运维人员的地狱;
提供了Web控制台 , 进行Job的监控和操作 , 目前提供的功能太裸露 , 无法直接用于生产;
提供JMX查询方式 , 对于非开发人员太不友好;
但在企业级应用中面对批量数据处理 , 仅仅提供批处理框架仅能满足批处理作业的快速开发、执行能力 。
企业需要统一的批处理平台来处理复杂的企业批处理应用 , 批处理平台需要解决作业的统一调度、批处理作业的集中管理和管控、批处理作业的统一监控等能力 。
推荐阅读
- 「」儿童节就送阿尔法蛋学习手表,安全贴心又能学习
- -悟空哥哥-618年中大促力来袭,iQOO Neo3应该是你不容错过的5G手机
- 埃尔法哥哥面对用户需求与AI技术之间的不平衡,AI产品经理该如何做?
- 埃尔法哥哥谁说机器学习难?它在这朵云上就没有门槛
- 埃尔法哥哥Python基础语法之“数据应用”
- 埃尔法哥哥Bionumerics软件的多位点VNTR分析
- 埃尔法哥哥一个例子就能读懂大数据,原来数据分析能在这些行业里使用
- 埃尔法哥哥C++程序员的职业生涯规划
- 埃尔法哥哥MAML-Tracker:用目标检测思路做目标跟踪?小样本即可得高准确率丨CVPR 2020
- 埃尔法哥哥数据规范之代码表
