当前位置: 首页 > article >正文

并行处理大 csv 文件

某 csv 文件存储大量订单。

OrderID,Client,SellerID,Amount,OrderDate

1,SPLI,219,9173,01/17/2022

2,HU,110,6192,10/01/2020

3,SPL,173,5659,04/23/2020

4,OFS,7,3811,02/05/2023

5,ARO,146,3752,08/27/2021

6,SRR,449,10752,05/27/2022

7,SJCH,326,11719,01/18/2022

8,JDR,3,11828,12/09/2021

要求用 Java 并行处理该文件,选出金额介于 3000 至 5000 美元的订单,按客户分组,统计订单金额和订单数量。

Clientamtcnt
ARO119483822972
BDR117208482933
BON118649522960
BSF119477342980
CHO118064012968
CHOP115112012877
D114914522876
DSG116721142910
DSGC116564792918

编写SPL语句

=file("d:/OrdersBig.csv").cursor@mtc(;8).select(Amount>=3000 && Amount<5000).groups(Client;sum(Amount):amt,count(1):cnt)

函数cursor用来解析超出内存的大文件,默认单线程,@m表示多线程并行读取,后面的8是并行数,@t表示首行是表头,@c表示分隔符是逗号。

Java 集成 SPL 可参考 Java 如何调用 SPL 脚本

SPL开源地址


http://www.kler.cn/a/292163.html

相关文章:

  • vue3 element el-table实现表格动态增加/删除/编辑表格行,带有校验规则
  • 108. UE5 GAS RPG 实现地图名称更新和加载关卡
  • 【计算机网络】TCP网络特点2
  • 0 -vscode搭建python环境教程参考(windows)
  • awk(常用)
  • ETH挖矿显卡超频信息汇总
  • 腾讯云 安装部署 SSL 证书到负载均衡(CLB)指引
  • 微信小程序rpx和px关系
  • Java在智能数据挖掘系统的应用
  • 新能源汽车超级电容和电池能量管理系统的simulink建模与仿真
  • 解析C++内联函数与auto关键字
  • 【前端】中断请求的方式
  • 【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题
  • 基于Openjdk容器打包运行jar程序
  • BZOJ2959 长跑(LCT维护边双后缩点)
  • Rust 赋能前端:PDF 分页/关键词标注/转图片/抽取文本/抽取图片/翻转...
  • JVM系列(七) -对象的内存分配流程
  • 场外个股期权的风险有哪些方面?
  • 数据库课程设计mysql---图书管理系统详细的设计文档和需求文档
  • NTC阻值与温度计算公式
  • Redis 常用命令总结
  • 【Django-Minio-Storage 使用教程】
  • EXCEL表格如何实现数字自动加减乘数(简单有效)
  • 初识redis(String,Hash,List,Set,SortedSet)
  • JVM 的类加载机制和双亲委派机制
  • 【Rust光年纪】极致性能体验:数据管道实现、虚拟化列表和网格布局美化完全攻略