美文网首页
《spring batch 批处理框架》第1、2章

《spring batch 批处理框架》第1、2章

作者: 沉寂之舟 | 来源:发表于2018-03-05 22:16 被阅读462次

    封面

    spring-batch-book.png

    总结:这是目前市面上唯一一本中文的spring batch 书籍,版本有点旧了,理念没多大变化,还是很值得一看的。全书分为3块,第一块简介和HelloWorld展示了挺多东西,看的有点晕。第二部分说的非常细,每个Reader,Writer都有demo演示,这块还不错。最后高级部分又是浮光掠影似的,仅仅演示一下。总的来说,相对于reference还是加上了很多内容,有学习意义;但是大部分都是演示性的代码,缺乏一个完整的应用案例,每个都告诉你怎么配,但是什么情况使用确没有说清楚。特别的是RepeatOperations部分完全没有,还需要自己根据文档去补充对应的知识。

    第1章 Spring Batch简介

    一、批处理

    1. 不需人工介入、自动高效进行复杂的数据处理分析,并能定期(可重复)地完成业务处理的程序。
    2. 特点:自动执行、数据量大(百万-亿,超过还是要用海量数据处理框架-handoop)
    3. 典型场景:文件类型的大批量导入、处理、导出、日终数据整理,转换等。

    二、srping batch 批处理应用框架

    1. 业务场景: 定期执行、消息驱动、并行处理、手动重启、顺序执行

    2. 技术目标:
      a. 程序员专注于业务处理,让spring batch框架管理流程
      b. 分离批处理执行环境和应用
      c. 通用核心服务(由接口提供)
      d. 开箱即用的处理方式(默认的执行接口实现)
      e. 结合spring实现灵活的配置,扩展方式
      f. 默认的实现易扩展,替换
      g. 部署简单

    3. spring batch 架构

      spring-batch-architecture.png
    4. 优势:轻量级、高健壮、提供开发效率
      a. 丰富的开箱即用组件(Reader、Writer),减少开发时间
      b. 面向Chunk的处理(写入针对批,兼顾效率和可靠性)
      c. 事务管理能力
      d. 元数据管理
      e. 易监控的批处理应用
      f. 丰富的流程定义
      g. 健壮的应用特性(跳过,重试,重启)
      h. 易扩展
      i. 可灵活复用先用的IT资产(通过Adapter封装)

    5. 2.0新特性(略)

    6. 2.2新特性(略)

    7. 搭建开发环境:

    git clone https://github.com/spring-guides/gs-batch-processing.git
    推荐从官网下载指引项目

    第二章: Hello World

    一、场景说明: 输入个人消费记录,生成对账单

    二、项目准备

    1. 项目结构,代码量不大
    2. 对账单文件内容,领域对象,账单CreditBill

    三、Job基础设施(Job-Context.xml)

    包含:作业仓库、任务调度器、事务管理器。

    四、对账Job配置:

    <Job>元素,配置在job.xml中,包含reader,writer,processor三种Bean.

    1. ItemReader:用了spring batch提供的FlatFileItemReader,以及传入领域对象CreditBill
    2. ItemProcessor: 这个是自己实现的,通过<>泛型定义传入,传出对象类型
    3. ItemWriter:用了spring batch提供的FlatFileItemWriter.

    五、执行Job

    使用java调用JobExecution的方式

    六、上述用到的概念说明.

    spring-batch-core-concept.png

    这章一上来就是完整工程的demo讲解,看起来确实有些吃力.不过稍微了解了概念,后面看的就顺了.

    参考文章

    一篇文章全面解析大数据批处理框架Spring Batch
    http://geek.csdn.net/news/detail/128641
    从头认识SpringBatch批处理框架
    http://blog.csdn.net/u011659172/article/category/6105368
    Spring Batch参考文档中文版(3.0-不全)
    https://kimmking.gitbooks.io/springbatchreference/content/
    Spring Batch - Reference Documentation
    https://docs.spring.io/spring-batch/trunk/reference/html/index.html

    相关文章

      网友评论

          本文标题:《spring batch 批处理框架》第1、2章

          本文链接:https://www.haomeiwen.com/subject/fbekfftx.html