tongchenkeji 发表于:2023-4-5 9:10:360次点击 已关注取消关注 关注 私信 数据集成往mysql抽取数据的时候表情符会被认为是脏数据?[阿里云DataWorks] 暂停朗读为您朗读 数据集成往mysql抽取数据的时候表情符会被认为是脏数据? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 DataWorks# MySQL1179# 云数据库 RDS MySQL 版1517# 关系型数据库2577# 大数据开发治理平台 DataWorks3946# 数据集成 Data Integration293
wljslmzAM 2023-11-27 21:33:58 1 在使用阿里云DataWorks进行数据集成往 MySQL 抽取数据时,如果源数据中包含表情符号,可能会被认为是脏数据。这是因为MySQL数据库默认的字符集是latin1,而表情符号一般会使用Unicode编码进行表示,如果直接将Unicode编码的表情符号存储到latin1字符集的MySQL数据库中,就会出现乱码。 可以通过如下两种方式来解决该问题: 修改MySQL数据库字符集:建议将MySQL数据库字符集修改为utf8mb4,utf8mb4是支持Unicode编码的字符集,可以正确存储表情符号。 在DataWorks中进行数据转换:在进行数据集成时,在MySQL数据源对象中添加如下代码,实现Unicode编码到utf8mb4编码的转换,比如: SELECT CONVERT(column_name USING utf8mb4) FROM table_name;
HaydenGuoAM 2023-11-27 21:33:58 2 在往Mysql中抽取数据时,通常情况下表情符会被认为是脏数据。 这是因为,在Mysql中,字符集的编码方式为UTF-8,而一些表情符号并不是标准的UTF-8字符。为了避免这种情况,通常可以在数据集成的过程中进行数据清洗,将这些表情符替换成其他字符,或者直接把这些数据删除。 如果需要在Mysql中存储表情符等非标准字符,可以考虑使用支持存储非标准字符的字符集,如UTF-16。
飞云觅宙AM 2023-11-27 21:33:58 3 在设计数据库表的字符集时,注意一下,不仅表要设置,有时候语句里面也有特定设置,注意优先级,不然会被覆盖掉。 如果全都显示设置了,那么优先级顺序是 SQL语句 > 列级别设置 > 表级别设置 > 库级别设置 > 服务器别设置。 以上方法解决不了从阿里云Maxcompute–>mysql的表情符导入的问题,网上的结论是传输工具DataX会把表情符做为脏数据处理掉,所以解决办法是把表情符给替换掉。
意中人jswyAM 2023-11-27 21:33:58 4 ” 源头的 column 配置多了,当value类型为hash时,数据源的每行记录都需遵循相应的规范。即每行记录除key外,只能有1对attribute和value, 并且attribute必须在value前面,Redis Writer方可解析出column对应的是attribute或value。 按照用户意图,应该是column只保留3列,移除不需要的列。此回答整理自钉群“DataWorks交流群(答疑@机器人)””
在使用阿里云DataWorks进行数据集成往 MySQL 抽取数据时,如果源数据中包含表情符号,可能会被认为是脏数据。这是因为MySQL数据库默认的字符集是latin1,而表情符号一般会使用Unicode编码进行表示,如果直接将Unicode编码的表情符号存储到latin1字符集的MySQL数据库中,就会出现乱码。
可以通过如下两种方式来解决该问题:
修改MySQL数据库字符集:建议将MySQL数据库字符集修改为utf8mb4,utf8mb4是支持Unicode编码的字符集,可以正确存储表情符号。
在DataWorks中进行数据转换:在进行数据集成时,在MySQL数据源对象中添加如下代码,实现Unicode编码到utf8mb4编码的转换,比如:
在设计数据库表的字符集时,注意一下,不仅表要设置,有时候语句里面也有特定设置,注意优先级,不然会被覆盖掉。
如果全都显示设置了,那么优先级顺序是 SQL语句 > 列级别设置 > 表级别设置 > 库级别设置 > 服务器别设置。
以上方法解决不了从阿里云Maxcompute–>mysql的表情符导入的问题,网上的结论是传输工具DataX会把表情符做为脏数据处理掉,所以解决办法是把表情符给替换掉。
” 源头的 column 配置多了,当value类型为hash时,数据源的每行记录都需遵循相应的规范。即每行记录除key外,只能有1对attribute和value, 并且attribute必须在value前面,Redis Writer方可解析出column对应的是attribute或value。 按照用户意图,应该是column只保留3列,移除不需要的列。此回答整理自钉群“DataWorks交流群(答疑@机器人)””