检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CDM作业可以将源表中的字段注释迁移到目标端表吗? 问题描述 CDM作业可以将源表中的字段注释迁移到目标端表吗? 解决方案 不同版本支持的情况不一样。 具体如下: 2.8.6.1版本支持,2.9.1版本不支持,2.9.2.1版本支持。 父主题: 功能类
配置MySQL源端参数 作业中源连接为云数据库MySQL/MySQL数据库连接时,源端作业参数如表1所示。 表1 MySQL作为源端时的作业参数 参数名 说明 取值样例 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语
到目的端INT类型的字段中会报错,提示类型转换错误,因为Mysql会自动识别将"0"或"1"转换为"false"或"true"。 解决方案 可通过以下两种方式解决问题: 修改目的端建表语句,INT类型为BOOL类型; 源端修改MySql参数,将该"mysql.bool.type.
创建MySQL连接器 MySQL连接适用于第三方云MySQL服务,以及用户在本地数据中心或ECS上自建的MySQL。本教程为您介绍如何创建MySQL连接器。 前提条件 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
云数据库MySQL/MySQL数据库连接参数说明 连接MySQL数据库连接时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 MySQL数据库连接参数 参数名 说明 取值样例 名称 连接的名
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 - 端口 MySQL数据库的端口。 3306 数据库名称 MySQL数据库的名称。 sqoop 用户名 拥有MySQL数据库的读、写和删除权限的用户。 admin 密码 用户的密码。
创建MySQL连接器 MySQL连接适用于第三方云MySQL服务,以及用户在本地数据中心或ECS上自建的MySQL。本教程为您介绍如何创建MySQL连接器。 前提条件 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
自动创表:选择“不存在时创建”,当RDS数据库中没有本地MySQL数据库里的表时,CDM会自动在RDS数据库中创建那些表。 导入开始前:选择“是”,当RDS数据库中存在与本地MySQL数据库重名的表时,CDM会清除RDS中重名表里的数据。 约束冲突处理:选择“insert into”,当迁移数据出现唯一约束冲突时的处理方式。
映射MySQL表和Hive表字段,Hive表比MySQL表多三个字段y、ym、ymd,即是Hive的分区字段。由于没有源表字段直接对应,需要配置表达式从源表的StartDate字段抽取。 图7 Hive字段映射 单击进入转换器列表界面,再选择“新建转换器 > 表达式转换”,如图8所示。
自动创表:选择“不存在时创建”,当RDS数据库中没有本地MySQL数据库里的表时,CDM会自动在RDS数据库中创建那些表。 导入开始前:选择“是”,当RDS数据库中存在与本地MySQL数据库重名的表时,CDM会清除RDS中重名表里的数据。 约束冲突处理:选择“insert into”,当迁移数据出现唯一约束冲突时的处理方式。
映射MySQL表和Hive表字段,Hive表比MySQL表多三个字段y、ym、ymd,即是Hive的分区字段。由于没有源表字段直接对应,需要配置表达式从源表的StartDate字段抽取。 图7 Hive字段映射 单击进入转换器列表界面,再选择“新建转换器 > 表达式转换”,如图8所示。
选择源连接名称为分库连接对应的后端连接时,此作业即为普通的MySQL作业。 新建源端为分库连接的作业时,在字段映射阶段,可以在源字段新增样值为“${custom(host)}”样式的自定义字段,用于在多个数据库中的多张表迁移到同一张表后,查看表的数据来源。支持的样值包括: ${custom(host)}
作业名称:输入便于记忆、区分的作业名称,例如:“mysql2dws”。 源端作业配置 源连接名称:选择步骤2:创建连接章节中创建的MySQL连接“mysqllink”。 使用SQL语句:选择“否”。 模式或表空间:选择从MySQL的哪个数据库导出表。 表名:选择导出哪张表。 其他可选参数保持默认即可
用户连接参数超时时间“6000000”毫秒,已经足够大。进一步排查客户Mysql数据库是否异常,将日志中打印查询源端的sql在Mysql客户端执行,看是否报错以及报错情况: 发现执行查询语句,全表查询,报错“Lost connection to MySQL server during query”,再次
目的端字段映射,排查映射问题。 根据上一步字段映射情况判断,进一步排查建表语句。 根据以上截图分析,INT1就是DWS字段类型TINYINT的别名,确认字段映射是对的,没有问题。进一步确认DWS TINYINT是否支持范围,为什么报错提示不支持‘-1’的原因,找到DWS字段类型介绍发现DWS
故障分析 RDS-Mysql和开源Mysql对于date类型的范围不一致。 开源Mysql的date范围一般为1000-01-0到9999-12-21,而RDS-Mysql支持date范围小于1000-01-0。使用开源Mysql驱动连接RDS-Mysql,在date范围小于1000-0
"xyzb") 如果当前字段为字符串类型,去除字段末尾所有指定的字符,例如去除当前字段末尾的“abc”字符串。 表达式:StringUtils.stripEnd(value,"abc") 如果当前字段为字符串类型,去除字段开头所有指定的字符,例如去除当前字段开头的所有空格。 表达式:StringUtils