- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java千万级别数据处理
java千万级别数据生成文件思路和优化
博客分类:?
java大数据处理
javajava大数据java数据处理千万级别数据
? ? ? ? ? ? ? 一年前写过一个百万级别数据库数据生成配置xml文件的程序,程序目的是用来把数据库里面的数据生成xml文件.程序可以配置多少文件生成到一个文件中去.
?
? ? ? ? ? ? ??程序刚开始设计的时候说的是最多百万级别数据,最多50W数据生成到一个xml文件里面去,所以在做测试的时候自己也只是造了100W的数据并没有做过多数据量的测试,然后问题就来了....由于程序使用的局点数据量巨大,需要生成xml文件的客户资料接近千万级别的程度,而现场对程序的配置大约是100W条数据生成一个xml文件里面去,程序在这样的大数据量下面偶尔会有崩溃.
? ? ? ? ? ? ??最近几天现场催的比较紧,最近抽空把这个问题处理了一下,在解决问题的过程中我把解决的步骤和方法记录了下来,正好和大家共享一下
?
现场提的问题概况:
? ??数据量:生成xml,每个文件100W+ 条的数据
? ??内存控制:最好不要超过512M
? ??问题详情:在处理70W左右的时候内存溢出
一、先来看一下程序要生成的xml文件的结构
Xml代码??
File??
??FileType1/FileType??
??RType12/RType??
??Version03/Version??
??BNo004/BNo??
??FileQ5/FileQ??
??FNo0006/FNo??
??RecordNum1000000/RecordNum??
??!--?上面是文件头??下面是百万个RecordList??--??
??RecordList??
????Msisdn10350719507/Msisdn??
????State1/State??
????StartDatStartDate??
????DatDate??
????Balance45000/Balance??
??/RecordList??
???...??!--?可能百万个??RecordList?块--??
?/File??
?
二、给大家说一下如何把大数据生成xml文件
? ? ? ? ??1、小数据量的情况下 ? ? ?1W条数据
?
? ? ? ? ? ? ???比较好用的方法是使用开源框架,比如XStream 直接把javabean 生成 xml
? ? ? ? ? ? ???优点:api操作简单,方便维护
? ? ? ? ? ? ???缺点:数据量大的情况下太消耗内存
?
? ? ? ? ??2、大数据量生成一个xml文件(本程序采用的方法)
?
? ? ? ? ? ? ???自己做的一个可以使用极少的内存生成无限制大的xml文件框架由3部分生成xml文件
? ? ? ? ? ? ???第一部分:生成文件头 ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? 例如: xxx.toXML(Object obj, String fileName)
? ? ? ? ? ? ???第二部分:通过每次向文件里面追加3000(可配置)条数据的形式生成文件块??
? ? ? ? ? ? ? ? ? ? ? ? ? ? 例如:xxx.appendXML(Object object); ?//object 可以是ArrayList 或者一个单独的javaBean
? ? ? ? ? ? ???第三部分:生成xml文件尾巴 ??
? ? ? ? ? ? ? ? ? ? ? ? ? ?例如:xxx.finishXML();
? ? ??
? ? ? ? ? ? ???程序中的调用:调用xxx.toXML(Object obj, String fileName) 生成文件头之后,可以循环从数据库中读取数据生成ArrayList,通过xxx.appendXML(Object object) 方法追加到xml文件里面,xxx.finishXML() 对文件进行收尾
? ? ? ? ? ? ???对框架说明:我上面提供的例子有文件头 + 文件块 + 文件尾巴. 如果和你们的实际使用文件不太一致的话,可以参考上面提供的思路修改一下即可,主要的方法是把相同的文件块部分分离出来通过追加的形式写入xml文件.
?
? ? ? ? ? ? ? ? ? ? ??有了思路之后,大家可以尝试着自己写一个类似的大数据处理框架(千万级别以上),如何有什么需要帮助的可以直接联系我,因为是公司的程序,不太敢放出来,怕......
? ? ?
三、我是如何测试性能和优化的
?
? ? ? ? ? ? ???1、手动排除
?
? ? ? ? ? ?
您可能关注的文档
- B-a组团精装修工程总结.doc
- a必修2:人类面临的主要环境问题(湘教版).doc
- A近三年全国研究生考试思想政治理论试题解1.doc
- B16大体积施工方案.doc
- B.B 霜反馈记录.doc
- B2挡土墙边沟开挖及砌筑.doc
- B6#外脚手架技术交底.doc
- Baqniom日语生活商务口语会话教程13(放松温泉).doc
- BCR-ABL融和.ppt
- BDX系列电除尘器使用说明书.doc
- 苏科版七年级下册 第1节 水中的动物 教学设计.docx
- 九加几(教学设计)-2023-2024学年一年级上册数学人教版.docx
- 第6章 生物的进化 素养检测2023-2024学年新教材高中生物必修第二册同步教学设计(人教版2019 多选).docx
- 六年级下册信息技术教学设计-图形化编程应用第一节 指针时钟设计1 川教版(三起).docx
- 2.2.3 动物体细胞核移植技术和克隆动物教学设计-2023-2024学年高二下学期生物人教版选择性必修3.docx
- 七年级大众健美操一级第二组合后两个动作教学设计.docx
- 整理与评价 第5课时 问题与思考2023-2024学年一年级下册数学同步教学设计(冀教版).docx
- 小学体育与健康 通用版 熟悉球性 篮球 教案.docx
- 第三章 足球 ——足球基本技术颠球第一课时 教学设计 2023—2024学年人教版初中体育与健康七年级全一册.docx
- 人教A版(2019)高中数学选择性必修第一册 《抛物线课时3》教学设计.docx
最近下载
- 股市趋势技术分析.pdf VIP
- 经颅多普勒超声TCD知识考核试题与答案.docx VIP
- 《外贸英语函电》中职课件02项目二 签订合同.ppt VIP
- 规范荷兰紫皮书 CPR 18E-Guidelines for Quantitative Risk Assessment.pdf
- 《离子方程式正误判断》教学设计教学目标.doc VIP
- 医学实验动物学全套完整课件.pptx
- AIOT智慧养老实训平台.pdf
- 2024年秋新冀教版三年级上册英语教学课件 Unit 3 Lesson 2 .pptx
- 20110324重庆市建设项目交通影响评价技术导则.doc
- 中海地产薪酬管理制度[-2022年].pdf
文档评论(0)