检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
是否支持字段转换? 支持,CDM支持以下字段转换器: 脱敏 去前后空格 字符串反转 字符串替换 表达式转换 在创建表/文件迁移作业的字段映射界面,可新建字段转换器,如下图所示。 图1 新建字段转换器 脱敏 隐藏字符串中的关键信息,例如要将“12345678910”转换为“123****8910”,则配置如下:
不支持数据类型转换规避指导 操作场景 CDM在配置字段映射时提示字段的数据类型不支持,要求删除该字段。如果需要使用该字段,可在源端作业配置中使用SQL语句对字段类型进行转换,转换成CDM支持的类型,达到迁移数据的目的。 操作步骤 修改CDM迁移作业,通过使用SQL语句的方式迁移。
在创建表/文件迁移作业的字段映射界面,可新建字段转换器,如下图所示。 图1 新建字段转换器 CDM可以在迁移过程中对字段进行转换,目前支持以下字段转换器: 脱敏 去前后空格 字符串反转 字符串替换 去换行 表达式转换 约束限制 作业源端开启“使用SQL语句”参数时不支持配置转换器。 如果在字段映射界面,
在创建表/文件迁移作业的字段映射界面,可新建字段转换器,如下图所示。 图1 新建字段转换器 CDM可以在迁移过程中对字段进行转换,目前支持以下字段转换器: 脱敏 去前后空格 字符串反转 字符串替换 去换行 表达式转换 约束限制 作业源端开启“使用SQL语句”参数时不支持配置转换器。 如果在字段映射界面,
format(${timestamp()},"yyyy-MM-dd HH:mm:ss")表达式获取当前时间,更多表达式设置方式可以参考表达式转换。 父主题: 功能类
是"false"或"true"。迁移到目的端INT类型的字段中会报错,提示类型转换错误,因为Mysql会自动识别将"0"或"1"转换为"false"或"true"。 解决方案 可通过以下两种方式解决问题: 修改目的端建表语句,INT类型为BOOL类型; 源端修改MySql参数,将该"mysql
CDM转换空字符串表达式StringUtils.defaultIfEmpty不生效怎么解决? 问题描述 在cdm中使用StringUtils.defaultIfEmpty(value,"0000-00-00 00:00:00")表达式期望将空字符串转换为时间格式,但是没有生效。 解决方案
RDS-Mysql和开源Mysql对于date类型的范围不一致,可能导致date数据转换异常 问题描述 使用开源Mysql驱动连接RDS-Mysql,date范围小于1000-01-0的情况下,date数据转换异常。 图1 源端data的数据 图2 目的端data的数据 故障分析 RDS
自动建表原理介绍 CDM将根据源端的字段类型进行默认规则转换成目的端字段类型,并在目的端建数据表。 自动建表时的字段类型映射 CDM在数据仓库服务(Data Warehouse Service,简称DWS)中自动建表时,DWS的表与源表的字段类型映射关系如图1所示。例如使用CDM
期格式。需要通过CDM配置字段转换器,将日期字段的格式转换为云搜索服务的目的端格式。 解决方案 编辑作业,进入作业的字段映射步骤,在源端的时间格式字段后面,选择新建转换器,如图3所示。 图3 新建转换器 转换器类型选择“表达式转换”,目前表达式转换支持字符串和日期类型的函数,语法
段。由于没有源表字段直接对应,需要配置表达式从源表的StartDate字段抽取。 图7 Hive字段映射 单击进入转换器列表界面,再选择“新建转换器 > 表达式转换”,如图8所示。 y、ym、ymd字段的表达式分别配置如下: DateUtils.format(DateUtils.parseDate(row[2]
段。由于没有源表字段直接对应,需要配置表达式从源表的StartDate字段抽取。 图7 Hive字段映射 单击进入转换器列表界面,再选择“新建转换器 > 表达式转换”,如图8所示。 y、ym、ymd字段的表达式分别配置如下: DateUtils.format(DateUtils.parseDate(row[2]
now()}”用来标识当前日期字符串。 新建转换器 CDM支持字段内容转换,如果需要可单击操作列下,进入转换器列表界面,再单击“新建转换器”。 图2 新建转换器 CDM可以在迁移过程中对字段进行转换,目前支持以下字段转换器: 脱敏 隐藏字符串中的关键信息,例如要将“12345678910”转换为“123****8910”,则配置如下:
6.0版本的CDM集群作业可以迁移成功,2.8.6版本的集群迁移失败。报错作业日志如下图所示。 原因分析 初步怀疑是源端和目标端在字段类型转换出现异常。 将目标端表字段类型biginit改为 string,重新跑作业还是失败,报错内容跟之前一样。 配置开启脏数据,重跑作业后作业依旧失败,但是有3条数据已迁移到目标表。
时间宏变量使用解析 事务模式迁移 迁移文件时加解密 MD5校验文件一致性 字段转换器配置指导 新增字段操作指导 指定文件名迁移 正则表达式分隔半结构化文本 记录数据迁移入库时间 文件格式介绍 不支持数据类型转换规避指导 自动建表原理介绍
列,可能会有数据倾斜风险。 CDM支持字段内容转换,如果需要可单击操作列下,进入转换器列表界面,再单击“新建转换器”。 图4 新建转换器 CDM支持以下转换器: 脱敏:隐藏字符串中的关键数据。 例如要将“12345678910”转换为“123****8910”,则参数配置如下: “起始保留长度”为“3”。
移。 事务模式迁移 支持当CDM作业执行失败时,将数据回滚到作业开始之前的状态,自动清理目的表中的数据。 字段转换 支持去隐私、字符串操作、日期操作等常用字段的数据转换功能。 文件加密 在迁移文件到文件系统时,CDM支持对写入云端的文件进行加密。 MD5校验一致性 支持使用MD5
UGO,简称UGO)是专注于异构数据库结构迁移的专业服务。可将数据库中的DDL、业务程序中封装的数据库SQL一键自动将语法转换为华为云GaussDB/RDS的SQL语法,通过预迁移评估、结构迁移两大核心功能和自动化语法转换,提前识别可能存在的改造工作、提高转化率、最大化降低用户数据库迁移成本。更多详情请参见数据库和应用迁移。
在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。 如果需要转换源端字段内容,可在该步骤配置,详细请参见字段转换,这里选择不进行字段转换。 图2 字段映射 单击“下一步”配置任务参数,一般情况下全部保持默认即可。 该步骤用户可以配置如下可选功能:
在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。 如CDM不支持源端迁移字段类型,请参见不支持数据类型转换规避指导将字段类型转换为CDM支持的类型。 父主题: 关键操作指导