首先来说一下前置,hive的hdfs文件,增量同步至mysql中。
1.
解决datax抽hdfs数据到mysql之null值变成 \N 或者 转换错误 的问题
修改datax源码plugin-unstructured-storage-util下的UnstructuredStorageReaderUtil.class
加上一个判断,因为在hdfs中,null值存储的是 \N ,所以需要把它转换成 null存储到Mysql中
但是这样也不是办法,来看看我们的方案。
"nullFormat":"null",
"encoding":"utf-8",
"fieldDelimiter":",",
"nullFormat":"null",
"path":[
"/home/tianyafu/flux_timecount_action.csv"
]
然后就可以了,完美解决。同时我们要设置脏数据的报警问题,一条数据都不能导入失败。
"setting": {
"speed": {
//设置传输速度 byte/s 尽量逼近这个速度但是不高于它.
// channel 表示通道数量,byte表示通道速度,如果单通道速度1MB,配置byte为1048576表示一个channel
"byte": 1048576
},
//出错限制
"errorLimit": {
//先选择record
"record": 0,
//百分比 1表示100%
"percentage": 0.02
}
},