java并行计算同步返回_Java大文本并行计算实现过程解析

Java大文本并行计算实现过程解析

简单提高文本读取效率,使用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

...

期望的结果:

c0f29980ba5062bf1944a8ccf00f7095.png

如果有集算器就简单多了,它对Java的多线程进行了封装,提供了对大文件分段并行的功能,写起来容易多了,对人员要求也低。比如上面问题,2行就搞定了(集算器内置了并行选项@m,不设置并行数,默认按核数做为并行数):

=file("/workspace/orders.txt").cursor@mt()

=A1.groups(O_CUSTKEY;sum(O_TOTALPRICE):AMOUNT)

Java大文本并行计算实现过程解析相关教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java mvc 菜鸟_【java框架】SpringMVC(1)--SpringMVC入门

1.SpringMVC框架认识Spring MVC是一个基于MVC模式的Web框架,SpringMVC作为Spring中的一个模块,它与Spring能够无缝集成,主要用于解决企业Web开发中常见的问题:如参数接收、文件上传、表单验证、国际化等等。2.SpringMVC HelloWorl…

php设置cookie 域名,php如何设置cookie对整个域名有效?

php设置cookie对整个域名有效的方法:由setcookie函数让cookie对整个域名有效,代码为【setcookie("cookie_test", this is cookie test, time()3600,"/",“】。php设置cookie对整个域名有效的方法:默认情况下的cookie仅对…

我的世界一个程序导致JAVA,Java地位无可动摇的12个原因

如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上或许会成为下一个COBOL。有关JAVA的技术卖出多少本书已经是一个很久远的记忆了。现处中年…

mysql 5.5.23 winx64,win10下mysql 5.7.23 winx64安装配置方法图文教程

本文记录了mysql 5.7.23 winx64安装教程,具体内容如下Step1选择手动下载版本解压到自己指定的路径上图中的my.ini及data文件夹在压缩包里是没有的,后面需要自己添加my.ini如下,直接copy~然后在目录下创建一个data文件夹Step2设置环境变量电脑…

matlab生成均匀部分散点图,应用halton序列生成均匀散点图

前言一门课的作业要用RBF-DQ方法计算流场。简单来讲就是要在无网格的条件下用高精度格式实现流场的仿真计算。生成散点图时,用蒙特卡洛的方法得到的散点图分布不是很均匀,于是想到一种叫做halton的序列。本篇将运用halton序列生成均匀的散点图。halton序…

解决动态规划问题4步曲

概述 (确定状态)确定问题状态 提炼最后一步子问题转化 (求得方程)转移方程,把问题方程化(设初置界)按照实际逻辑设置初始条件和边界情况(确序再解)确定计算顺序并求解 …

查看oracle监听服务器,处理Oracle 监听文件listener.log问题

如果连接时候变得较慢 查看Oracle日志记录,可能是因为此文件太大,超过2G,需要定期清理,(如果多用户,记得用root,可能没权限)查看listener.log?find / -name listener.log经查看,竟然…

美国oracle球场,美国体育馆考察——美国体育产业是如何盈利的?

体育是美国一项较高利润的产业,其发展规模、发展水平和效益都是世界一流的。美国体育馆考察,主要考察美国体育产业的盈利模式和体育赛事的赞助模式以及球馆的运营管理,并对比中美体育产业的差异,从中获得先进的体育产业运营思维&a…

php集成环境怎么打开,PHP集成开发环境PhpStorm快速入门指南(二):打开一个项目...

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。PhpStorm 2019.…

计算机分php,计算机按照处理数据的形态分类,可以分为什么?

计算机按照处理数据的形态分类,可以分为:1、数字计算机,是以数字形式的量值在机器内部进行运算和存储的电子计算机;2、模拟计算机,是根据相似原理,用一种连续变化的模拟量作为被运算的对象的计算机&#xf…

2.oracle物理结构,oracle实验2oracle物理结构管理

oracle实验2oracle物理结构管理 (6页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分实验2 oracle物理存储结构管理、实验目的1. 掌握物理结构的创建和修改方法2. 掌握表空间的存储参数设置方…

linux mount 查看挂载目录,Linux下使用mount来挂载设备到目录

一般情况下直接mount 设备路径 目录路径,就可以了。umount 设备名,就可以卸载这个设备了使用lsblk -f可以查看挂载的设备,以及这些设备的文件系统。roottao-PC:/boot# lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINTsda├─sda1├─sda2 vfat SY…

linux6.0 安装教程,CentOS 6.0安装步骤

1.安装引导选择安装或升级现有系统(Install or upgrade an existing system):这个选项是默认的。 选择此选项,安装到您的计算机使用CentOS的图形安装程序的系统。2.检测光盘介质可以选择skip跳过3.选择安装过程中的语言这里选择chinese中文简…

netflow流量分析工具 linux,Centos5/Linux安装Nfdump和Nfsen图形界面分析netflow数据

Nfdump是linux下netflow数据采集分析工具,Nfsen是基于nfdump是web界面工具,服务器需先安装web服务器和php环境。安装rrdtool及所需组件:yum install perl-rrdtool rrdtool rrdtool-devel rrdutils flex byacc安装所需perl模块:yum…

linux嵌入式平台测试,protobuf-c 在arm linux 嵌入式平台的使用 测试

关于什么是protobuf,网上搜搜一大堆,很多人用的都还是json,以为json是多种语言传输数据是万能的,看完了protobuf的实现,就明白了简单高效才是王道。1、首先写一个.proto扩展名的文件json.proto,内容格式如下…

linux版车机安装步骤,RedHat Linux 9.0的安装(详细图解安装过程)

RedHat Linux版本:" b, t) b) b# }, t# z- fC& S$ x0 }) GRedHat Linux是目前世界上使用最多的Linux操作系统。因为它具备最好的图形界面,无论是安装、配置还是使用都十分方便,而且运行稳定,因此不论是新手还是老玩家都对它有很高的…

简单了解linux,linux简单了解

今天主要了解下linuxlinux目录结构包含:/:代表根目录bin(binaries):存放二进制可执行文件sbin(super user binaries):存放二进制可执行文件,只有root才能访问etc(etcetera)存放系统配置文件usr(unix shared resource):用于存放共享…

二级c语言评分标准一样吗,计算机二级评分严格吗 步骤错了有分吗

计算机二级考试不是人工阅卷,是由计算机评分,所以是很严格的。计算机二级机器阅卷主要看的是最后的输出文件,如果步骤错了导致结果不正确的话,也是没有分的。计算机二级评分标准计算机二级考试是电脑自动评分的,即上机…

c语言a 寻路算法,JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例

本文实例讲述了JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法。分享给大家供大家参考,具体如下:完整实例代码如下:A*寻路算法#stage {border: 1px solid lightgray;}window.onload function () {var stage document.querySelector(#stage…

在wsl下运行c语言,在Windows10通过WSL架设linux/gcc c语言学习环境

在Windows10通过WSL架设linux/gcc c语言学习环境零:简单介绍与先决条件中国一般的大学C课程中都使用很过时的编译器来进行教授——比如说什么visual studio 6.0啊,dev c啊。以笔者的眼界所看到的C语言教程中,大多都建议学习者在Linux环境下学…