Pentaho PDI 数据导入关于时间格式及重复数据处理这2个问题的解决方法

来源:互联网 发布:win8.1装ubuntu双系统 编辑:程序博客网 时间:2024/06/10 13:48

最近处理数据,遇到这2个问题,思考了很久,最近突然开窍把问题解决了,记录如下:

第一个问题,如下图所示,数据生成的csv文件只有时分秒,而数据库设定的格式为年月日时分秒,因此导入数据库是提示出错,那年月日那里去了?


原来写软件的工程师把年月日作为文件名了


这样用PDI处理的话,可以用如下方式解决,整体过程如下:


1. 读取文件时,将文件名一起读入,这样的话年月日就有了,但是还是要做二次处理,用Text File Input导入数据时,在content栏下勾上 Include filename in output, 并给个栏位名:date

这样的话,文件名就作为一栏数据进来了

2. 然后用string cut,按照规则,只将对应位置信息,将36到46之间的10个字符,即年月日裁剪出来,放到date2这个栏位

3. 然后用Concat Filed将date2与对应栏位的时间合并起来




第二个问题,如下图,数据导入时发现重复


之前尝试过在数据库端设定index,通过锁定序列号加时间戳的方式来防止重复数据,但是这样做的话,在数据导入前有重复则会提示错误,无法导入,因此前端也要进行去重的处理,整体过程如下:

用到Sort Row这个组件来处理,其中勾上只输出唯一值,组合对比栏位为序列号加时间


这样过滤后,重复项在数据导入前就清除掉了






原创粉丝点击