DataWorks中MySQL如何同步到hologres脏数据排查?
可以采取以下步骤:
在DataWorks中设置MySQL数据库为源端,HoloGres数据库为目标端。
配置同步任务,实现MySQL到HoloGres的实时同步。
开启binlog功能在MySQL端,记录所有DML操作。
同步任务以binlog作为同步数据源,保证同步全量和增量数据。
同步一段时间后,需要检查HoloGres端是否有脏数据产生:
查询HoloGres表中数据完整性,比对实际业务需求。
查找orphan records,即仅存在于HoloGres而MySQL中不存在的记录。
查找missing records,即MySQL有但HoloGres中没有同步的记录。
1.同步emoji报错脏数据需要修改编码格式:
1.1 jdbc形式添加数据源:
例如:jdbc:mysql://xxx.x.x.x:3306/database?&com.mysql.jdbc.faultInjection.serverCharsetIndex=45,
1.2 实例id形式添加数据源:
在数据库名后拼接:数据库名?com.mysql.jdbc.faultInjection.serverCharsetIndex=45
源端的数据本身就是乱码。
数据库和客户端的编码不一样。
浏览器编码不一样,导致预览失败或乱码。
针对产生乱码的不同原因,选择相应的解决方法:
如果您的原始数据乱码,需首先处理好原始数据,再进行同步任务。
数据库和客户端编码格式不一致,需先修改编码格式。
浏览器编码和数据库或客户端编码格式不一致,需先统一编码格式,然后进行数据预览。
可以先参考百问百答脏数据篇排查看下,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。