当Oracle读的一行数据中有null时,会导致hive在写数据时把值前移,也就是说对应的null没有写上去,数据类型就对应错了,这个bug你们怎么解决的?然而mysql同步数据到hive,当mysql出现一行数据的一个有null或者多个null时,又不会出现hive写数据当有null而前移数据的问题。oracle reader正常配置,hive也是正常配置,文件类型orc,分隔符"/u0001",并且在datax中,关系数据库都是用的共同的读数据的工具类,因为这个工具类在循环获取读到的数据,读到null时会continue,所以我在它在continue前,把null加了进去,暂时解决了问题,但是其他数据例如mysql又不会出现这个问题,所以很奇怪,求大神解答,在线等。
2条回答 默认 最新
关注
查了一些资料,Datax源码的确有点问题,需要修改Datax的源码。
参考:datax mysql null不能转为Long 等一些列无法强转问题_大壮的博客-CSDN博客_datax null 首先来说一下前置,hive的hdfs文件,增量同步至mysql中。1.解决datax抽hdfs数据到mysql之null值变成 \N 或者 转换错误 的问题修改datax源码plugin-unstructured-storage-util下的UnstructuredStorageReaderUtil.class加上一个判断,因为在hdfs中,null值存储的是 \N ,...https://blog.csdn.net/qq_33792843/article/details/91987903
Datax的一次填坑经历 - 知乎 使用Datax进行两个集群间的数据同步,在读取HDFS数据时,会出现数据丢失问题,本文针对数据丢失问题做出了分析以及对应解决方案,希望帮助大家在使用Datax过程中避免该问题的出现!问题描述最近在使用Datax进行两…https://zhuanlan.zhihu.com/p/64852047
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报