hive处理特殊字符

本文共有664个字,关键词:

问题: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
版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论