gpload 入库换行符处理
 
通知
清除全部

gpload 入库换行符处理


iamghf
帖子: 1
Topic starter
初出茅庐
已加入: 3年 前

最近有业务需要将oracle的数据抽到greenplum里去。

现在采集的方案是先用sqluldr2导出成csv文件,再通过gpload装载csv文件。

问题是oracle的字段里有换行符 导致在gpload装载时报错。

刚开始是想通过自定义列分隔符来解决问题,但gpload不能自定义列分隔符。后面临时解决的方案是将字段里的换行符替换掉再入库。但这种方式会导致字段值发生变化不符合要求。

又采用将导出时字段进行base64编码,入库后再进行base64解码。但这种方式性能太低了。

请问各位大牛有没有好的解决方案?

问题标签
2 回复
xiaoxu123
帖子: 4
初出茅庐
已加入: 3年 前

1、现在Oracle找到哪些字段里有换行符,确定换行符是业务需要,还是数据有问题
2、如果是业务需要,可以先同步其他的字段到Greenplum
3、再通过java程序或者其他的程序同步带有换行符的数据
4、如果是数据本来就有问题在数据同步时也可以做一次数据质量

回复
changdan1111
帖子: 2
初出茅庐
已加入: 3年 前

同遇到,我是在使用sqlldr2导出的时候就把换行去掉了,escape='\' escf=0x0a esct=n,GPLOAD入库后,在create table xx as select replace() from cc处理吧,然后renname。

回复
Close Bitnami banner
Bitnami