例题描述和简单分析
有 csv 文件,A 列 id,B 列 roomname,C 列 date,D 列 time,E 列 LOB(length of booking),F 列 PB(person booking),如下:
现在需要统计订房时间最长的 N 个房间的名字和订房时间。例如,N 为 3,结果如下:
解法及简要说明
在集算器中编写esProc SPL脚本 p1.dfx,如下所示:
A | |
1 | =file("csv.csv").import@tc(roomname,LOB) |
2 | =A2.top(n;-LOB) |
简要说明:
A1 读取 csv 文件中的 roomname 列和 LOB 列
A2 获取前 n 个 length of booking 最大的记录,其中 n 为脚本的参数
JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》。