用dataX向PolarDB中导数据时,出现脏数据问题怎么解决
首先附上dataX官网:DataX大大
这是我的dataX 导数据的json文件,其中有个属性
fieldDelimiter 我原本设置为 \u0001
执行shell 脚本直接执行 dataX 导数据的json 文件
会出现导入失败的现象:
直接执行shell 脚本在黑窗口中看到的日志信息有限,那么去azkaban中通过任务调度的方式去执行 dataX导数据操作:
日志信息显示是由于某一个字段值得问题导致数据导入失败:
这里用dataX导入的数据是 数仓中的 string 类型的数据导入到PolarDB表中
对应的字段是 json 类型,推断可能是由于数仓中该字段值有null值,导入到
PolarDB中在进行json类型转化,产生的异常。
这里通过修改 DataX导数据的 json 文件中对空值处理的方式:
"nullFormat":"\\N" --空值默认为 \\N 前面的 \ 应该是转义字符
数据就能全部导入了:
导入数据中包含表情包:
例如一段话中使使用输入法中的表情包
将数据导入导mysql 表中
两处需要注意:
1.mysql建表需要注意字符集: utf8mb4
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2. dataX json脚本链接mysql参数 ?useUnicode=true&com.mysql.jdbc.faultInjection.serverCharsetIndex=45
"jdbcUrl": "jdbc:mysql://${wx_mysql_url}:${wx_mysql_port}/${wx_mysql_db}?useUnicode=true&com.mysql.jdbc.faultInjection.serverCharsetIndex=45"
版权声明:本文为weixin_46609492原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。