欢迎来到咨信网! | 成为共赢成为共赢 咨信网助力知识提升 | 自信网络旗下运营:咨信网 自信AI创作助手 自信AI导航
咨信网
全部分类
  • 包罗万象   教育专区 >
  • 品牌综合   考试专区 >
  • 管理财经   行业资料 >
  • 环境建筑   通信科技 >
  • 法律文献   文学艺术 >
  • 学术论文   百科休闲 >
  • 应用文书   研究报告 >
  • ImageVerifierCode 换一换
    首页 咨信网 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Spring Batch的大数据量并行处理.pdf

    • 资源ID:228240       资源大小:2.51MB        全文页数:58页
    • 资源格式: PDF        下载积分:19金币
    微信登录下载
    验证码下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    二维码
    微信扫一扫登录
    下载资源需要19金币
    邮箱/手机:
    验证码: 获取验证码
    温馨提示:
    支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    开通VIP
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    声明    |    会员权益      获赠5币      写作写作
    1、填表:    下载求助     索取发票    退款申请
    2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
    6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    7、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

    基于Spring Batch的大数据量并行处理.pdf

    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发生异常失败之后在最后

    14、执行失败的地方重启Job 实例启动Job的配置12年12月6日星期四Skip!-自定义忽略策略 一12年12月6日星期四Retry 12年12月6日星期四Restart 不仅仅是restart,Job失败了才会执行restart策略,如果你不想让这个任务restart,需要显式设置 restart的job会从失败的地方开始执行 可以设置restart的次数限制,不能无休止的restart restart指的是相同job参数的launchDecompress-L Read-write_x_CleanupOr?DecompressVRead-writeCleanup12年12月6日星期四Resta

    15、rt 参数b restartable:job参数,是否可以重启,默认为true allow-start-if-complete:tasklet参数,执彳亍成功的 tasklet是否再restart时重新执行,默认为falseb start-limit:tasklet参数,重启step的次数,默认值是 lnteger.MAX_VALUE12年12月6日星期四流程 Spring Batch通过流程编排的方式实现顺序Step和分支条件Step 在Step中使用next属性指定下一步执行的Step 在Step中增加next元素进行分支跳转 多数情况下Step的结束状态并不能够满足复杂的条件流程,这时

    16、就需要使用流程决策器,在Step中增加decision元素12年12月6日星期四skipped Decision八|importProductsJo垃decompressreadWriteskipped Decisionnext on=SKIPPED/importProductsJoF)_ _._ _ _ _f skippedDecision decider=skippedDeciderk/decision _.12年12月6日星期四Demo Idb2dbjob fle2dbjob skipjob12年12月6日星期四监控一Monitor12年12月6日星期四有人说:一个没有监控和跟踪的框架是

    17、不完整滴Spring Batch提供了4种监控方式:直接查看Job repository的数据库信息,所有的Batch元数据都会持久化 到数据库中 使用Spring Batch提供的自且构建典g数据使用Spring Batch Admin,通过web控制台监控和操作Job)使用JMX12年12月6日星期四 Spring Batch Admin是Spring Source开源的基于Web方式 监控Batch Job的应用框架,既可以独立运行,也可以非常方便的集成到现有应用中,可以启动和监控Job的执行情况,提供Json数据,前端基于FreeMarker模板引擎,非常易与定制开发卜当前版本:1.2

    18、.112年12月6日星期四安装步骤 TSitspring-batch-ad min-1.2.l.RELEASE.zip 解压缩进入spring-batch-admin-1.2.LRELEASE 的 sample目录 cd spring-batch-admin-parent/mvn install cd spring-batch-admin-sample/mvn install mvn会在 spring-batch&6101一5311|0八3901:下构ttj spring-batch-ad min-sample-1.2.1.RELEASE.war,根据该 war包可以容易搭建出batch ad

    19、min的web应用 xdoc/xhtml/sample/spring-batch-admin-parent/pom.xml spring-batch-admin-sample/src/target/classes/,config/maven-archiver/spring-batch-admin-sample-1.2.1.RELEASE/surefire-reports/test-classes/war/J spring-batch-admin-sample-1.2.1.RELEASE.warhsql-manager.launch hsql-server.launch pom.xml serv

    20、er.properties license.txt notice.txt12年12月6日星期四Batch Admin的配置 Batch Admin的配置文件和资源文件默认都打包到了jar中 定义dataSource、transactionManagerM ETA-INF/spring/batch/bootstrap/manager/data-source-context.xml 定义jobRepository、jobExplorer、jobLauncherM ETA-INF/spring/batch/bootstrap/manager/execution-context.xml 定义配置文件加

    21、载路径/o rg/springframe wo rk/batch/admin/web/re sources/webapp-config.xml 支持多种数据库,启动Server时增加虚拟机参数识别数据库类型-DENVIRONMENT=mysql 是否需要初始化数据batch.data.source,in it=false 新增的job配置文件放置到META-INF/spring/batch/jobs/下,自动识别12年12月6日星期四Home Jobs Executions FilesStep Execution ProgressThis execution is estimated to b

    22、e 100%complete after 10000 ms IHistory of Step Execution for Step-step1Summary after total of 3 executions:Batch Admin Dem。Details for Step ExecutionPropertyMinMaxMeanSigmaDuration per Read0000Duration10,00011,00010,666.667471.405Commits2121210Rollbacks0000Reads196,560196,560196,5600Writes196,560196

    23、,560196,5600Filters0000Read Skips0000Write Skips0000Process Skips0000Property ValueIDJob ExecutionJob Name Step Name Start Date3513 paralleljob stepl 2012-12-0112年12月6日星期四扩展一Scaling12年12月6日星期四纵向扩展bigger;better;faster12年12月6日星期四Machine(Node)ApplicationLoad balancingReplicationMachine(Node)Machine(Nod

    24、e)Machine(Node)ApplicationApplicationApplication、横向扩展(远程扩展),扩展更多的计算节点12年12月6日星期四Spring Batch的扩展类型名称.类型描述Multithreaded Step本地夕线程执仃iSl叩Parallel step本地通过多线程并行执行多个StepRemote chunking远程在远端节点上执行分布式Chunk操作Partitioning step本地/远程对数据进行分区,并分开执行12年12月6日星期四Multithreaded Step12年12月6日星期四Parallel step12年12月6日星期四Par

    25、allel stepbatch:flow/batch:flowbatch:flow/batch:flow12年12月6日星期四Remote chunking Spring Batch 可以基于Spring Integration和JMS/AMQP实现 Remote chunking的扩展模式 Remote chunking把数据读取和数据处理分离在一台Master和 多台Slave上 Master负责读取并分发数据到多个Slave节点上进行数据处理b因为所有的数据读取都在Master进行,请确保Master的 Reader不是瓶颈12年12月6日星期四RemotechunkingSlaveMa

    26、sterA ChunkProcessor WriterReadera)p 一 od x u n u。Slave12年12月6日星期四Partitioning step Spring Batch使用分区实现更细力度的扩展。使用分区的同时,我们 依然可以用到多线程和远程调用的技术 第一种Multithreaded模式没法指定哪个线程处理哪个数据,但是基 于Partition的多线程可以做到 Partitioning理论上比Remote Chunk更有扩展性,因为分区并不存 在从一个地方读取所有输入数据并进行序列化的瓶颈12年12月6日星期四Partitioning step12年12月6日星期四扩

    27、展模式比较名称.类型比较Multithreaded Step本地由一组线程处理一个Step,所有的资源必须是线程 安全的,需要考虑并发的相关问题Parallel step本地使用多线程以并行的方式执行多个Step,并行的Step 都是相互独立的,所以没有并发问题Remote chunking远程通过SI、JMS、Httplnvoke等技术执行远程Chunk,Master发送Chunk到Slave进行计算处理,适用于 Master读数据不是瓶颈的场景Partitioning step本地/远程定义数据集然后并行执行,使用ExecutionContext的 方式对分区数据进行控制,可以使用本地或远程 Chunk12年12月6日星期四Demo3paralleljob partitionjob12年12月6日星期四Questions?aliad中因北京 2。12年12月7日8日,3,12年12月6日星期四vmwareSPRING&CLOUD FOUNDRY I开发看大会Thank You!12年12月6日星期四


    注意事项

    本文(基于Spring Batch的大数据量并行处理.pdf)为本站上传会员【曲****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表




    页脚通栏广告
    关于我们 - 网站声明 - 诚招英才 - 文档分销 - 便捷服务 - 联系我们 - 成长足迹

    Copyright ©2010-2024   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:4008-655-100    投诉/维权电话:4009-655-100   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   



    关注我们 :gzh.png  weibo.png  LOFTER.png