基于Spring Batch的大数据量并行处理.pdf
《基于Spring Batch的大数据量并行处理.pdf》由会员分享,可在线阅读,更多相关《基于Spring Batch的大数据量并行处理.pdf(58页珍藏版)》请在咨信网上搜索。
1、vmwareSPRING&CLOUD FOUNDRY 开发青大会基于Spring Batch的大数据量并行处理 池建强,70后程序员,98年毕业,先后就职于洪恩软件、RocketSofeware和用友集团.瑞友科技,现任瑞友科技IT应用研究院 副院长 先后从事互联网和企业应用开发,目前致力于基础应用平台的研究 热爱技术和编码工作,坚持年轻时的理想,倒霉的乐观者 技术领域:Java、Pythons Ruby、C/Objective-Cx DDD、OSGix App Platform Blog:/|7七。:池建强http:12年12月6日星期四大数据量胜于优秀算法卜如果数据足够多,可能产生出意想之
2、外的应用无论算法好坏,更多的数据总能带了来更好的效果12年12月6日星期四处理海量数据的利器Concurrency&Parallelism12年12月6日星期四Java6:ExecutorService Java7:Forl accentureHigh performance.Delivered.SpringSource与Accenture合作开发了Spring BatchAccenture在批处理架构上有着丰富的工业级别的经验,SpringSource贝ij 有着深刻的技术认知和Spring框架编程模型Accenture贡献了之前专用的批处理体系框架,这些框架历经数十年研发 和使用,为Spr
3、ing Batch提供了大量的参考经验Spring Batch借鉴了JCL(Job Control Language)和COBOL的语言特性12年12月6日星期四Spring Batch一款优秀的、开源的大数据量并行处理框架。通 过Spring Batch可以构建出轻量级的健壮的并行处理应用,支 持事务、并发、流程、监控、纵向和横向扩展,提供统一的接 口管理和任务管理。12年12月6日星期四12年12月6日星期四Spring Batch的技术特点 传统并发编程:线程和资源锁?复杂,容易出错,无法横向扩展 Spring Batch Domain:job,step,chunk,reader,pro
4、cessor,writer,trans,admin,scaling.开发者无需创建和管理线程,只需要把要处理的数据任务分解为job,并 为其定义属性和基础设施 通过reader,processor和writer来实现业务逻辑 面向过程,基于PQJO的开发方式12年12月6日星期四领域问题 Batch Data能够处理大批量数据的导入、导出和业务逻辑计算 Automation无需人工干预,能够自动化执行批量任务 Robustness不会因为无效数据或错误数据导致程序崩溃b Reliability通过跟踪、监控、日志及相关的处理策略(retry、skip、restart)Scaling通过并发和并
5、行技术实现应用的纵向和横向扩展,满足数据处 理的性能需求12年12月6日星期四Why Not Hadoop?Spring BatchHadoop框架运行时环境嵌入现有应用MapReduce/HBase/HDFS本地/远程分布式轻量级重量级中小数据巨量数据复用现有的Java库提供多种语言接口Spring Batch与Hadoop结合使用(定期推送日志到HDFS)12年12月6日星期四分层架构、领域、元素12年12月6日星期四业务逻辑T提供Batch执行环境 API级别的支持处理Batch的领域对象 job chunk step.策略管理Repeat,Retry,Transaction,Input
6、/Output12年12月6日星期四Spring Batch components and process12年12月6日星期四领域对象领域对象 描述Job repository基础组件,用来持久化Job的兀数据,默认使用内存Job launcher基础组件,用来启动JobJob应用组件,是Batch操作的基础执行单元StepJob的一个阶段,Job由一组Step构成laskletStep的个事务过程,包含重复执行、同步、异步等策略Item从数据源读出或写入的一条数据记录Chunk给定数量的Item的集合Item Reader从给定的数据源读取Item集合Item Processor在Item
7、写入数据源之前进行数据清洗(转换校验过滤)Item Writer把Chunk中包含的Item写入数据源12年12月6日星期四Job Job由一组Step构成,完成Batch数据操作的整个过程 Job instance特定的运行时Job实例,由Job launcher运行 Job execution某个Job实例的执行信息,包括执行时间、状态、退出 代码等等 Job实例和执行数据、参数等元数据信息都由Job repository进行持久化 启动Job:jobLauricher.run(demojob,jobParameterBulider.toJobParametersO);12年12月6日星期
8、四Job的运行时12年12月6日星期四Step Step是Job的一个执行阶段 Step 通过 tasklet 和 chunk 元素 控制数据的处理策略卜一组Step可以顺序执行,也可 以根据条件分支执行 Step的执行数据同样由Job repository进行持久化12年12月6日星期四DataSource:Flat File,XML,Database,Message(JMS、AMQP)ItemReader:FlatFileltemReader MultiResourceltemReader HibernatePagingltemReader HibernateCursorltemReade
9、r JdbcPagingltemReader JdbcCursorltemReader AmqpItemReadenjavaItemWriter:FlatFileltemWriter MultiResourceltemWriter HibernateltemWriter JdbcBatchltemWriter SimpleMailMessageltemWriter AmqpItemWriter.java12年12月6日星期四/ledgerjob/demojob/!-100条提交一次12年12月6日星期四/ledgerjob/demojob/batch:Step id=stepbatch:tas
10、klet task-executor=HtaskExecutorn12年12月6日星期四八|importProductsJo垃Gl decompressreadWriteskipped Decisionskipped Decisionnext on=SKIPPEDnext on=*generate Report丁/importProductsJoF)obk/decision .J12年12月6日星期四Triggering system(e.gM scheduler)External eventTriggersSpring Batch_AJob launcherJobJob repository
11、Reads and writesReads and writesData sources上下文环境12年12月6日星期四执行过程12年12月6日星期四回顾领域对象领域又幡描述Job repository基础组件,用来持久化Job的兀数据,默认使用内存Job launcher基础组件,用来启动JobJob应用组件,是Batch操作的基础执行单元StepJob的一个阶段,Job由一组Step构成laskletStep的个事务过程,包含重复执行、同步、异步等策略Item从数据源读出或写入的一条数据记录Chunk给定数量的Item的集合Item Reader从给定的数据源读取Item集合Item Pr
12、ocessor在Item写入数据源之前进行数据清洗(转换校验过滤)Item Writer把Chunk中包含的Item写入数据源12年12月6日星期四事务bSpringBatch默认采用Spring提供的声明式事务管理模式 Chunk支持事务管理,通过commit-interval设置每次提交的记录数 n支持对每个Tasklet设置细粒度的事物配置:隔离界别、传播行为、超时支持rollback和no rollback skippable-exception-classes no-rollback-exception-classes支持JMS Queue的事务级别配置12年12月6日星期四事务三步
13、曲12年12月6日星期四策略一bulletproof job12年12月6日星期四,健壮性:应对一切非致命的异常,我们只,可跟踪:根据需求设计忽略和重试策略,要记录的数据 I,可重启:对于已经执行或执行失败的Job,提供重启策略Spring Batch对此提供了丰富的支持12年12月6日星期四Bulletproof-WeaponWhen?What?Where?Skip发生非致命异常出现异常的情况下保证主体程 序正常运行面向Chunk的StepRetry发生瞬态异常当发生瞬态失败的时候进行重 试(例如遇到记录锁的情况)面向Chunk的Step和应用 程序代码中Restart发生异常失败之后在最后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Spring Batch的大数据量并行处理 基于 Spring Batch 数据量 并行 处理
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。