检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
迁移时已选择表不存在时自动创表,提示“CDM not support auto create empty table with no column”怎么处理? 问题描述 迁移时已选择表不存在时自动创表,提示“CDM not support auto create empty table
作业配置表不存在时自动创建,目的端字段映射不出来怎么处理? 问题描述 迁移SQL Server数据到DWS,目的端配置了当表不存在时自动创建,目的端字段映射不出来 ,如下图所示。 原因分析 查看后端日志报:org.postgresql.util.PSQLException: ERROR:
自动建表原理介绍 CDM将根据源端的字段类型进行默认规则转换成目的端字段类型,并在目的端建数据表。 自动建表时的字段类型映射 CDM在数据仓库服务(Data Warehouse Service,简称DWS)中自动建表时,DWS的表与源表的字段类型映射关系如图1所示。例如使用CDM
是否支持字段转换? 支持,CDM支持以下字段转换器: 脱敏 去前后空格 字符串反转 字符串替换 表达式转换 在创建表/文件迁移作业的字段映射界面,可新建字段转换器,如下图所示。 图1 新建字段转换器 脱敏 隐藏字符串中的关键信息,例如要将“12345678910”转换为“123****8910”,则配置如下:
期格式。需要通过CDM配置字段转换器,将日期字段的格式转换为云搜索服务的目的端格式。 解决方案 编辑作业,进入作业的字段映射步骤,在源端的时间格式字段后面,选择新建转换器,如图3所示。 图3 新建转换器 转换器类型选择“表达式转换”,目前表达式转换支持字符串和日期类型的函数,语法
在创建表/文件迁移作业的字段映射界面,可新建字段转换器,如下图所示。 图1 新建字段转换器 CDM可以在迁移过程中对字段进行转换,目前支持以下字段转换器: 脱敏 去前后空格 字符串反转 字符串替换 去换行 表达式转换 约束限制 作业源端开启“使用SQL语句”参数时不支持配置转换器。 如果在字段映射界面,
在创建表/文件迁移作业的字段映射界面,可新建字段转换器,如下图所示。 图1 新建字段转换器 CDM可以在迁移过程中对字段进行转换,目前支持以下字段转换器: 脱敏 去前后空格 字符串反转 字符串替换 去换行 表达式转换 约束限制 作业源端开启“使用SQL语句”参数时不支持配置转换器。 如果在字段映射界面,
Hudi目的端的作业自动建表报错:schema不匹配,建表失败怎么办? 问题描述 cdm迁移数据到hudi,hudi选择自动建表,执行建表语句报schema不匹配错误“org.apache.spark.sql.AnalysisException:Specified schema in
是"false"或"true"。迁移到目的端INT类型的字段中会报错,提示类型转换错误,因为Mysql会自动识别将"0"或"1"转换为"false"或"true"。 解决方案 可通过以下两种方式解决问题: 修改目的端建表语句,INT类型为BOOL类型; 源端修改MySql参数,将该"mysql
eformat(yyyy-MM-dd)}”。 目的端的“写入目录”配置为“/opt/ttxx/${timestamp()}”。 经过宏定义转换,这个作业表示:将Oracle数据库的“SQOOP.CDM_20171016”表中数据,迁移到HDFS的“/opt/ttxx/1508115701746”目录中。
eformat(yyyy-MM-dd)}”。 目的端的“写入目录”配置为“/opt/ttxx/${timestamp()}”。 经过宏定义转换,这个作业表示:将Oracle数据库的“SQOOP.CDM_20171016”表中数据,迁移到HDFS的“/opt/ttxx/1508115701746”目录中。
CustomerConfig object 用户配置信息。 datastore Datastore object cdm信息。 isAutoOff Boolean 自动关机。 publicEndpointDomainName String 集群绑定的EIP域名。 bakExpectedStartTime String
型数据库的入库时间等用途。 前提条件 已创建连接器源端为关系型数据库,以及目的端数据连接。 目的端数据表中已有时间日期字段或时间戳字段。如自动创表场景下,需提前在目的端表中手动创建时间日期字段或时间戳字段。 创建表/文件迁移作业 在创建表/文件迁移作业时,选择已创建的源端连接器、目的端连接器。
now()}”用来标识当前日期字符串。 新建转换器 CDM支持字段内容转换,如果需要可单击操作列下,进入转换器列表界面,再单击“新建转换器”。 图2 新建转换器 CDM可以在迁移过程中对字段进行转换,目前支持以下字段转换器: 脱敏 隐藏字符串中的关键信息,例如要将“12345678910”转换为“123****8910”,则配置如下:
format(${timestamp()},"yyyy-MM-dd HH:mm:ss")表达式获取当前时间,更多表达式设置方式可以参考表达式转换。 父主题: 功能类
二进制格式”(即不解析文件内容直接传输),则没有字段映射这一步骤。 其他场景下,CDM会自动匹配源端和目的端数据表字段,需用户检查字段映射关系和时间格式是否正确,例如:源字段类型是否可以转换为目的字段类型。 您可以单击字段映射界面的选择“添加新字段”自定义新增字段,通常用于标记数
企业项目信息,请参见sys_tags参数说明。 isAutoOff 否 Boolean 选择是否启用自动关机功能,自动关机功能和定时开关机功能不可同时开启。如果选择自动关机,则当集群中无作业运行且无定时作业时,等待15分钟后集群将自动关机来帮您节约成本。 表5 instance 参数 是否必选 参数类型 描述
CDM集群可以关机吗? 2.9.1.200版本以后的集群已不支持集群定时关机、自动开关机功能。 父主题: 通用类
云数据库MySQL/MySQL数据库连接参数说明 连接MySQL数据库连接时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 MySQL数据库连接参数 参数名 说明 取值样例 名称 连接的名称,根据
原因分析 使用Spark SQL写数据入hudi表,由于配置问题,表schema中会自动增加一列类型为array<string>,名称为col的列。 解决方案 字段映射中删去此列,如果是自动建表,SQL中也要把此列删去。 父主题: 故障处理类