Java如何实现大文本并行计算-创新互联

小编这次要给大家分享的是Java如何实现大文本并行计算,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

创新互联公司是一家专注于成都网站设计、网站制作、外贸营销网站建设与策划设计,围场网站建设哪家好?创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:围场等地区。围场做网站价格咨询:028-86922220

简单提高文本读取效率,使用BufferedReader是个不错的选择。速度最快的方法是MappedByteBuffer,但是,相比BufferedReader而言,效果不是非常明显。也就是说,后者虽然快,但也快的有限(不要抱有性能提升几倍的幻想)。

对于大文本的读取,性能瓶颈主要在IO,read占时间多是正常的,硬盘本身就不快,读入内存后还要转成对象,都比较耗时间。

想要提速应当用并行的办法,用多线程同时读取和处理数据,但Java写多线程程序很麻烦,并行分段读同一个文件时还要考虑调整边界,也比较麻烦。

比如要这么个场景:分组汇总每个客户的销售额,部分源数据如下:

O_ORDERKEY    O_CUSTKEY    O_ORDERDATE    O_TOTALPRICE
10262  RATTC  1996-07-22    14487.0
10263  ERNSH  1996-07-23    43818.0
10264  FOLKO  2007-07-24    1101.0
10265  BLONP  1996-07-25    5528.0
10266  WARTH  1996-07-26    7719.0
10267  FRANK  1996-07-29    20858.0
10268  GROSR  1996-07-30    19887.0
10269  WHITC  1996-07-31    456.0
10270  WARTH  1996-08-01    13654.0
...

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Java如何实现大文本并行计算-创新互联
文章位置:http://pwwzsj.com/article/dhpiei.html