您的位置:首页 > 大数据

集算器比较csv文件中数据差异_润乾软件|数据处理-数据计算引擎

2017-04-06 10:47 495 查看
old.csv和new.csv的逻辑主键是userName和date,需要分别找出新增的、删除的、修改的数据行。源文件如下:



可以看到new.csv中的第2、3行是新增的记录,第4行是修改的记录,old.csv中第3行是删除的记录。

集算器代码:



A1,B1:以逗号为分隔符读入文件。

A2,B2:将数据按照关键字排序。后面的merge函数要求数据有序。

A3:按关键字找到新增的记录。函数merge可进行多数据集归并,@d表示归并时找出差集。类似地还还有并集@u,交集@i。计算结果如下:



A4:按关键字找到删除的记录。计算结果如下:



A5:将关键字作为普通字段,找到修改过的记录。计算结果如下:



A6:A5是中间计算结果,要计算更新的记录,还要在A6中计算A5和“新增”记录之间的差集。计算结果如下:



B6:将A6返回给JAVA或报表工具。

 

上述脚本已经完成了所有的数据处理工作,接下来通过JDBC将集算器脚本集成在JAVA里。JAVA代码如下:

//建立esProc jdbc连接

Class.forName("com.esproc.jdbc.InternalDriver");

con= DriverManager.getConnection("jdbc:esproc:local://");

//调用esProc,其中test是脚本文件名,可接收参数

st =(com.esproc.jdbc.InternalCStatement)con.prepareCall("call test()");

st.execute();//执行esProc存储过程

ResultSet set = st.getResultSet();//获得计算结果

 

如果要将多个数据集返回给JAVA,可以将B6的代码改为:result new,delete,update。

润乾软件| 润乾集算器 |
润乾报表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐