问题:ods层源数据中有DEL这样的特殊字符,如何去除?
解决:在ods层进入dwd层前进行数据处理,使用replace进行去除
方法:
select replace(CFWH, decode(unhex(hex(127)), 'US-ASCII'), '');
记述:
将数据从ods层转入dwd层,又从dwd层转入jck层(基础库)都没问题,但将数据从jck层导出到达梦时出错了,报错的位置不对,但可以看出来是export data时出错,如下:
Error: java.io.IOException: Can't export data, please check failed map task logs
... ...
Caused by: java.lang.RuntimeException: Can't parse input data: '2023-10-20'
所以应该是数据错误,首先排查jck层表与达梦导出的表字段是否对应上了,其次就是排查数据。因为提示的数据‘2023-10-20’根本无法找到位置,所以将达梦表中的字段全改成varchar2(128),先将数据全导出,然后在达梦数据库中看看哪个数据与字段类型不符合。
参考:
https://www.coder.work/article/6930743