用户指南
文档版本 1.0
发布日期 2021-09-24
版权所有 © 华为技术有限公司 2022。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 IAM 权限管理... 1
1.1 创建 IAM 用户并授权使用 CDM...1
1.2 创建 CDM 自定义策略...2
2 入门...4
2.1 场景介绍...4
2.2 步骤 1:创建集群... 4
2.3 步骤 2:创建连接... 7
2.4 步骤 3:创建并执行作业...11
2.5 步骤 4:查看作业运行结果... 13
3 管理集群...15
3.1 创建集群... 15
3.2 解绑/绑定集群的 EIP... 17
3.3 关机/开机集群... 18
3.4 重启集群... 19
3.5 删除集群... 21
3.6 下载集群日志...22
3.7 查看集群基本信息/修改集群配置... 23
3.8 查看监控指标...27
3.8.1 支持的监控指标...27
3.8.2 设置告警规则... 29
3.8.3 查看监控指标... 30
4 管理连接...32
4.1 支持的数据源...32
4.2 新建连接... 54
4.3 管理驱动... 59
4.4 管理 Agent... 61
4.5 管理集群配置...64
4.6 配置关系数据库连接... 71
4.7 配置 DLI 连接... 77
4.8 配置 Hive 连接... 78
4.9 配置 HBase 连接...83
4.10 配置 HDFS 连接...88
4.11 配置 OBS 连接... 93
4.12 配置阿里云 OSS 连接...94
4.13 配置亚马逊对象存储 S3 连接... 95
4.14 配置七牛云 KODO/腾讯云 COS 连接... 95
4.15 配置 FTP/SFTP 连接... 96
4.16 配置 Redis/DCS 连接... 96
4.17 配置 DDS 连接... 97
4.18 配置 CloudTable 连接...97
4.19 配置 CloudTable OpenTSDB 连接... 98
4.20 配置 MongoDB 连接... 100
4.21 配置 Cassandra 连接... 100
4.22 配置 DIS 连接... 101
4.23 配置 Kafka 连接... 101
4.24 配置 DMS Kafka 连接... 103
4.25 配置 Elasticsearch/云搜索服务(CSS)连接...103
5 管理作业... 105
5.1 新建表/文件迁移作业... 105
5.2 新建整库迁移作业... 113
5.3 配置作业源端参数... 118
5.3.1 配置对象存储源端参数... 118
5.3.2 配置 HDFS 源端参数... 123
5.3.3 配置 HBase/CloudTable 源端参数...127
5.3.4 配置 Hive 源端参数...128
5.3.5 配置 DLI 源端参数... 129
5.3.6 配置 FTP/SFTP 源端参数... 130
5.3.7 配置 HTTP 源端参数... 134
5.3.8 配置关系数据库源端参数... 135
5.3.9 配置 MongoDB/DDS 源端参数... 140
5.3.10 配置 Redis 源端参数...141
5.3.11 配置 DIS 源端参数... 141
5.3.12 配置 Kafka/DMS Kafka 源端参数... 142
5.3.13 配置 Elasticsearch 或云搜索服务源端参数... 143
5.3.14 配置 OpenTSDB 源端参数... 145
5.4 配置作业目的端参数... 145
5.4.1 配置 OBS 目的端参数... 146
5.4.2 配置 HDFS 目的端参数... 150
5.4.3 配置 HBase/CloudTable 目的端参数... 152
5.4.4 配置 Hive 目的端参数... 153
5.4.5 配置关系数据库目的端参数...155
5.4.6 配置 DDS 目的端参数...158
5.4.7 配置 DCS 目的端参数... 159
5.4.8 配置云搜索服务目的端参数...159
5.4.9 配置 DLI 目的端参数...160
5.4.10 配置 DIS 目的端参数... 161
5.4.11 配置 OpenTSDB 目的端参数... 161
5.5 配置定时任务... 161
5.6 作业配置管理... 165
5.7 管理单个作业... 166
5.8 批量管理作业... 168
6 云审计... 171
6.1 支持云审计的关键操作...171
6.2 如何查看审计日志... 172
7 使用教程... 173
7.1 创建 MRS Hive 连接器... 173
7.2 创建 MySQL 连接器... 177
7.3 MySQL 数据迁移到 MRS Hive 分区表... 180
7.4 MySQL 数据迁移到 OBS... 190
7.5 MySQL 数据迁移到 DWS... 196
7.6 MySQL 整库迁移到 RDS 服务... 202
7.7 Oracle 数据迁移到云搜索服务... 207
7.8 Oracle 数据迁移到 DWS... 211
7.9 OBS 数据迁移到云搜索服务... 217
7.10 OBS 数据迁移到 DLI 服务... 222
7.11 FTP/SFTP 文件增量迁移到 OBS 服务...227
7.12 MRS HDFS 数据迁移到 OBS... 233
7.13 Elasticsearch 整库迁移到云搜索服务... 236
7.14 DDS 数据迁移到 DWS...240
7.15 更多案例实践...244
8 数据迁移进阶指导...245
8.1 通过 CDM 算子批量创建分表迁移作业... 245
8.2 增量迁移... 253
8.2.1 文件增量迁移...253
8.2.2 关系数据库增量迁移...256
8.2.3 使用时间宏变量完成增量同步... 258
8.2.4 HBase/CloudTable 增量迁移... 261
8.2.5 通过数据开发实现数据增量迁移... 262
8.3 事务模式迁移... 271
8.4 迁移文件时加解密... 272
8.5 MD5 校验文件一致性... 274
8.6 字段转换... 276
8.7 指定文件名迁移...283
8.8 正则表达式分隔半结构化文本...284
8.9 使用时间宏变量记录数据迁移入库时间... 288
8.10 文件格式介绍...290
A 修订记录... 299
1 IAM 权限管理
1.1 创建 IAM 用户并授权使用 CDM
如果您需要对您所拥有的批量数据迁移服务(CDM)进行精细的权限管理,您可以使 用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,
您可以:
● 根据企业的业务组织,在您的华为云账号中,给企业中不同职能部门的员工创建 IAM用户,让员工拥有唯一安全凭证,并使用CDM资源。
● 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
● 将CDM资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云 服务可以根据权限进行代运维。
如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章 节,不影响您使用CDM服务的其它功能。
本章节为您介绍对用户授权的方法,操作流程如图1-1所示。
前提条件
给用户组授权之前,请您了解用户组可以添加的CDM权限,并结合实际需求进行选 择。CDM支持的系统权限,请参见CDM系统权限。若您需要对除CDM之外的其它服 务授权,请参见权限策略,了解IAM支持服务的所有权限。
示例流程
图1-1 IAM 用户授权流程
1. 创建用户组并授权
在IAM控制台创建用户组,并授予CDM集群只读权限“CDM ReadOnlyAccess”。
2. 创建用户并加入用户组
在IAM控制台创建用户,并将其加入1中创建的用户组。
3. 用户登录并验证权限
新创建的用户登录控制台,切换至授权区域,验证权限:
– 在“服务列表”中选择“云数据迁移服务”,进入CDM主界面查看集群,若 未提示权限不足,表示“CDM ReadOnlyAccess”已生效。
– 在“服务列表”中选择除CDM服务外的任一服务,若提示权限不足,表示
“CDM ReadOnlyAccess”已生效。
1.2 创建 CDM 自定义策略
如果系统预置的CDM权限策略,不满足您的授权要求,可以创建自定义策略。自定义 策略中可以添加的授权项(Action)请参考策略和授权项。
目前华为云支持以下两种方式创建自定义策略:
● 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服 务、操作、资源、条件等策略内容,可自动生成策略。
● JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内 容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建自定义策略。本章为您介绍常用的CDM自定义策略样例。
CDM 自定义策略样例
● 示例1:授权用户创建CDM集群
{ "Version": "1.1", "Statement": [ {
"Effect": "Allow", "Action": [
"cdm:cluster:create"
] } ] }
● 示例2:拒绝用户删除CDM集群
拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略 中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。
如果您给用户授予CDM FullAccess的系统策略,但不希望用户拥有CDM
FullAccess中定义的删除CDM集群权限,您可以创建一条拒绝删除CDM集群的自 定义策略,然后同时将CDM FullAccess和拒绝策略授予用户,根据Deny优先原 则,则用户可以对CDM执行除了删除CDM集群外的所有操作。拒绝策略示例如 下:
{ "Version": "1.1", "Statement": [ {
"Effect": "Deny", "Action": [
"cdm:cluster:delete"
] } ] }
● 示例3:多个授权项策略
一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还 可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是 项目级服务或都是全局级服务。多个授权语句策略描述如下:
{ "Version": "1.1", "Statement": [ {
"Action": [
"cdm:cluster:list", "cdm:cluster:get", "ecs:*:get*", "ecs:*:list*", "vpc:*:get*", "vpc:*:list*", "evs:*:get*", "evs:*:list*", "bss:*:view*"
],
"Effect": "Allow"
} ] }
2 入门
2.1 场景介绍
本章节介绍云数据迁移(Cloud Data Migration,以下简称CDM)的基础使用方法,
通过使用CDM迁移本地MySQL数据库中的表,写入到数据仓库服务DWS的具体操作,
帮助您了解、熟悉CDM服务,具体场景如图2-1所示。
图2-1 本地 MySQL 数据库迁移到 DWS
CDM的基本使用流程如下:
1. 创建CDM集群
2. 创建连接
3. 创建并执行作业
4. 查看作业运行结果
2.2 步骤 1:创建集群
操作场景
用户首先需要创建CDM集群,来执行MySQL数据同步到DWS的任务。
前提条件
已获取DWS所在的区域、VPC、子网、安全组。
操作步骤
步骤1 登录CDM管理控制台。
图2-2 CDM 管理控制台
步骤2 单击“购买云数据迁移服务”,进入创建CDM集群的界面,集群配置样例如下:
● 当前区域:选择CDM集群的区域,不同区域的资源之间内网不互通,这里必须选 择与DWS所在区域一致。
● 可用区:指在同一区域下,电力、网络隔离的物理区域,可用区之内内网互通,
不同可用区之间物理隔离。这里选择“可用区2”。
● 集群名称:集群名称在4位到64位之间,必须以字母开头,可以包含字母、数字、
中划线或者下划线,不能包含其他的特殊字符,例如:“cdm-aff1”。
● 版本:默认即可。
● 实例类型:用户按实际业务数据量选择实例规格。
– cdm.large:8核CPU、16G内存的虚拟机,最大带宽/基准带宽为3/0.8Gbps,
能够并发执行的作业个数为20。
– cdm.xlarge:16核CPU、32G内存的虚拟机,最大带宽/基准带宽为
10/4Gbps,能够并发执行的作业个数为100,适合使用10GE高速带宽进行TB 以上的数据量迁移。
– cdm.4xlarge:64核CPU、128G内存的虚拟机,最大带宽/基准带宽为 40/36Gbps,能够并发执行的作业个数为300。
● 虚拟私有云:即VPC(Virtual Private Cloud),这里必须选择与DWS相同的 VPC。
● 子网:推荐与DWS的子网一致。
● 安全组:推荐与DWS的安全组一致。
这里所配置的子网、安全组也可以与DWS不一致,但是需要配置安全组规则,允 许CDM集群能正常访问DWS。
● 其它参数保持默认即可。
图2-3 创建集群 1
图2-4 创建集群 2
步骤3 查看当前配置,确认无误后单击“立即购买”进入规格确认界面。
说明
集群创建好以后不支持修改规格,如果需要使用更高规格,需要重新创建。
步骤4 单击“提交申请”,系统开始自动创建CDM集群,在“集群管理”界面可查看创建进 度。
----结束
2.3 步骤 2:创建连接
连接说明
迁移本地MySQL数据库到数据仓库服务DWS前,需要创建2个连接:
1. MySQL连接:CDM连接本地MySQL数据库。
2. DWS连接:CDM连接DWS数据库。
由于CDM需要访问本地数据源,所以创建连接前,需先为CDM集群绑定弹性IP,CDM 通过弹性IP访问MySQL数据库。
前提条件
● 用户本地的MySQL数据库已允许通过公网IP访问。
● 用户已拥有EIP配额。
● 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用 户拥有MySQL数据库的读、写和删除权限。
● 用户已经拥有了DWS实例,已获取连接DWS数据库的IP地址、端口、数据库名 称、用户名、密码,且该用户拥有DWS数据库的读、写和删除权限。
● 用户已参考管理驱动,上传了MySQL数据库驱动。
创建 MySQL 连接
步骤1 登录CDM管理控制台。
图2-5 CDM 管理控制台
步骤2 单击左侧导航上的“集群管理”,找到步骤1:创建集群章节创建的集群“cdm- aff1”。
步骤3 单击该集群后的“绑定弹性IP”,选择并绑定弹性公网IP。
说明
如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。
步骤4 单击CDM集群后的“作业管理”,进入作业管理界面,再选择“连接管理 > 新建连 接”,进入选择连接器类型的界面,如图2-6所示。
图2-6 选择连接器类型
步骤5 选择“MySQL”后单击“下一步”,配置MySQL连接的参数。
图2-7 创建 MySQL 连接
单击“显示高级属性”可查看更多可选参数,具体请参见配置关系数据库连接。这里 保持默认,必填参数如表2-1所示。
表2-1 MySQL 连接参数
参数名 说明 取值样例
名称 输入便于记忆和区分的连接名称。 mysqllink 数据库服务器 MySQL数据库的IP地址或域名。 192.168.1.110
端口 MySQL数据库的端口。 3306
数据库名称 MySQL数据库的名称。 sqoop
参数名 说明 取值样例 用户名 拥有MySQL数据库的读、写和删除权
限的用户。 admin
密码 用户的密码。 -
使用Agent 是否选择通过Agent从源端提取数 据。
是
Agent 单击“选择”,选择连接Agent中已
创建的Agent。 -
步骤6 单击“保存”回到连接管理界面。
说明
如果保存时出错,一般是由于MySQL数据库的安全设置问题,需要设置允许CDM集群的EIP访问 MySQL数据库。
----结束
创建 DWS 连接
步骤1 在“连接管理”界面单击“新建连接”,连接器类型选择“数据仓库服务
(DWS)”。
步骤2 单击“下一步”配置DWS连接参数,必填参数如表2-2所示,可选参数保持默认即可。
表2-2 DWS 连接参数
参数名 说明 取值样例
名称 输入便于记忆和区分的连接名称。 dwslink 数据库服务器 DWS数据库的IP地址或域名。 192.168.0.3
端口 DWS数据库的端口。 8000
数据库名称 DWS数据库的名称。 db_demo 用户名 拥有DWS数据库的读、写和删除权限
的用户。 dbadmin
密码 用户的密码。 -
使用Agent 是否选择通过Agent从源端提取数 据。
是
Agent 单击“选择”,选择连接Agent中已
创建的Agent。 -
步骤3 单击“保存”完成创建连接。
----结束
2.4 步骤 3:创建并执行作业
操作场景
创建CDM迁移数据表的作业,执行从本地MySQL数据库复制表到DWS的任务。
操作步骤
步骤1 在集群管理界面,找到步骤1:创建集群章节创建的集群“cdm-aff1”。
步骤2 单击该CDM集群后的“作业管理”,进入作业管理界面。
步骤3 选择“表/文件迁移 > 新建作业”,配置作业基本信息。
图2-8 新建作业
● 作业名称:输入便于记忆、区分的作业名称,例如:“mysql2dws”。
● 源端作业配置
– 源连接名称:选择步骤2:创建连接章节中创建的MySQL连接
“mysqllink”。
– 使用SQL语句:选择“否”。
– 模式或表空间:选择从MySQL的哪个数据库导出表。
– 表名:选择导出哪张表。
– 其它可选参数保持默认即可,详细说明可参见配置关系数据库源端参数。
● 目的端作业配置
– 目的连接名称:选择步骤2:创建连接章节中创建的DWS连接“dwslink”。
– 模式或表空间:选择导入到DWS的哪个数据库。
– 自动创表:这里选择“不存在时创建”,当下面“表名”参数中配置的表不 存在时,CDM会自动在DWS数据库中创建该表。
– 表名:选择导入到DWS数据库的哪张表。
– 其他可选参数保持默认即可,详细说明可参见配置关系数据库目的端参数。
步骤4 单击“下一步”进入字段映射界面,CDM会自动匹配源端和目的端的数据表字段,需 用户检查字段映射关系是否正确。
● 如果字段映射关系不正确,用户单击字段所在行选中后,按住鼠标左键可拖拽字 段来调整映射关系。
● 导入到DWS时需要手动选择DWS的分布列,建议按如下顺序选取:
a. 有主键可以使用主键作为分布列。
b. 多个数据段联合做主键的场景,建议设置所有主键作为分布列。
c. 在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布 列,可能会有数据倾斜风险。
● 如果需要转换源端字段内容,可在该步骤配置,详细请参见字段转换,这里选择 不进行字段转换。
图2-9 字段映射
步骤5 单击“下一步”配置任务参数,一般情况下全部保持默认即可。
该步骤用户可以配置如下可选功能:
● 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不 重试”。
● 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管 理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
● 是否定时执行:如果需要配置作业定时自动执行,请参见配置定时任务。这里保 持默认值“否”。
● 抽取并发数:设置同时执行的抽取任务数。这里保持默认值“1”。
● 是否写入脏数据:如果需要将作业执行过程中处理失败的数据、或者被清洗过滤 掉的数据写入OBS中,以便后面查看,可通过该参数配置,写入脏数据前需要先 配置好OBS连接。这里保持默认值“否”即可,不记录脏数据。
● 作业运行完是否删除:这里保持默认值“不删除”。
步骤6 单击“保存并运行”,CDM立即开始执行作业。
说明
如果运行作业失败,日志提示如下错误:SQL语句无法执行。ERROR: value too long for type character varying(7) Where: COPY dws_city, line 1, column name: "广州市"。
原因:DWS表的字符字段长度不够。这是因为MySQL和华为云DWS存储中文时编码不一样,所 需的长度也不一样,一个中文字符在UTF-8编码下可能要占3个字节。
解决方法:在步骤3新建作业时选择自动创表,高级属性参数“扩大字符字段长度”选择
“是”,再重新执行作业。这样CDM在DWS中自动创表时,会将字符类型的字段长度设置为原 表的3倍。
----结束
2.5 步骤 4:查看作业运行结果
操作场景
作业完成后,可以查看作业执行结果及最近90天内的历史信息,包括写入行数、读取 行数、写入字节、写入文件数和日志等信息。
操作步骤
步骤1 在集群管理界面,找到步骤1:创建集群章节创建的集群“cdm-aff1”。
步骤2 单击该CDM集群后的“作业管理”,进入作业管理界面。
步骤3 找到步骤3:创建并执行作业章节创建的作业“mysql_dws”,查看该作业的执行状 态。
说明
作业状态有New,Pending,Booting,Running,Failed,Succeeded。
其中“Pending”表示正在等待系统调度该作业,“Booting”表示正在分析待迁移的数据。
步骤4 单击作业后面的“历史记录”,可查看作业的写入行数、读取行数、写入字节或写入 文件数。
图2-10 查看历史记录
步骤5 在历史记录界面,再单击“日志”可查看作业执行的日志信息。
也可以在作业列表界面,选择“更多 > 日志”来查看该作业最近的一次日志。
图2-11 查看作业日志
----结束
3 管理集群
3.1 创建集群
操作场景
目前CDM采用独立集群的方式为用户提供安全可靠的数据迁移服务,各集群之间相互 隔离,不可相互访问。目前一个集群只支持一个服务器。
前提条件
已申请VPC、子网和安全组。CDM集群连接云上其它服务时,需确保CDM集群与待连 接的云服务在同一个VPC。如果CDM集群与其它云服务所属不同VPC,则CDM集群需 要通过EIP连接云服务。
说明
如果配置了VPC对等连接,可能会出现对端VPC子网与CDM管理网重叠,从而无法访问对端VPC 中数据源的情况。推荐使用公网做跨VPC数据迁移,或联系管理员在CDM后台为VPC对等连接添 加特定路由。
操作步骤
步骤1 登录CDM管理控制台。
图3-1 CDM 管理控制台
步骤2 单击“购买云数据迁移服务”,进入创建CDM集群的界面。
步骤3 配置CDM集群参数,各参数说明如表3-1所示。
表3-1 CDM 集群参数
参数名称 样例 说明
当前区域 华北-北京
一 选择CDM集群的区域,不同区域的资源之间内网不互 通。
可用区 可用区2 请参见什么是可用区。
集群名称 cdm-aff1 自定义CDM集群名称。
说明CDM集群创建后,不支持修改集群名称。
实例类型 cdm.large 目前CDM支持以下规格供用户选择:
● cdm.large:8核CPU、16G内存的虚拟机,最大带宽/
基准带宽为3/0.8Gbps,能够并发执行的作业个数为 20。
● cdm.xlarge:16核CPU、32G内存的虚拟机,最大带 宽/基准带宽为10/4Gbps,能够并发执行的作业个数为 100,适合使用10GE高速带宽进行TB以上的数据量迁 移。
● cdm.4xlarge:64核CPU、128G内存的虚拟机,最大 带宽/基准带宽为40/36Gbps,能够并发执行的作业个 数为300。
虚拟私有云 vpc1 CDM集群所属VPC、子网、安全组,需确保CDM集群与 待连接的数据源能正常通信。用户可以根据CDM迁移的 数据源端、目的端所处网络进行选择:
● 如果CDM集群与待连接的数据源所属不同的VPC,或 者待连接的为本地数据源时,CDM集群需要绑定EIP,
通过公网通信。
● 如果待连接的数据源为云上服务,则推荐CDM集群的 网络配置与该云服务一致,此时CDM集群不用绑定 EIP,通过内网通信。
● 如果待连接的数据源为云上服务,CDM与它在同一个 VPC但所属不同子网,则可以通过配置安全组规则来 使CDM集群与云服务间的网络互通。
VPC、子网、安全组的详细操作,请参见《虚拟私有云用 户指南》。
子网 subnet-1 安全组 sg-1
企业项目 default 只有在企业项目管理界面创建了企业项目,这里才可以选 择。
企业项目管理服务是一种云资源管理方式,具体请参见
《企业管理用户指南》。
自动关机 否 如果选择自动关机,则当集群中无作业运行且无定时作业 时,等待15分钟后集群将自动关机来帮您节约成本。
集群创建成功后,如果想更改自动关机、定时开关机的配 置,可在集群列表界面单击集群名称后,再选择“集群配 置”标签页来更改,具体参见查看集群基本信息/修改集 群配置。
参数名称 样例 说明
定时开机 否 CDM集群支持定时开机,选择开启时需要配置每天定时 开机的时间。
定时关机 否 定时关机时系统不会等待未完成的作业执行完成。
消息通知 否 开启后,支持配置5个手机号码或邮箱,作业(目前仅支 持表/文件迁移的作业)失败时、EIP异常时会发送短信或 邮件通知用户。
说明EIP的异常通知,需要先在IAM控制台创建对应Region的VPC策 略委托才能生效。也可以在CDM集群管理界面选择“弹性IP检测 授权 > 创建委托”来创建。
步骤4 查看当前配置,确认无误后单击“立即购买”进入规格确认界面。
说明
集群创建好以后不支持修改规格,如果需要使用更高规格,需要重新创建。
步骤5 单击“提交申请”,系统开始自动创建CDM集群,在“集群管理”界面可查看创建进 度。
----结束
3.2 解绑/绑定集群的 EIP
操作场景
CDM集群创建完成后,支持解绑或绑定EIP。弹性公网IP,由虚拟私有云(Virtual Private Cloud,简称VPC)负责其计费。
● 如果CDM需要访问本地数据源、Internet的数据源,或者跨VPC的云服务,则必须 要为CDM集群绑定一个弹性IP,或者使用NAT网关让CDM集群与其他弹性云服务 器共享弹性IP访问Internet,具体操作请见添加SNAT规则。
● EIP的异常通知,需要先在IAM控制台创建对应Region的VPC策略委托才能生效。
也可以在CDM集群管理界面选择“弹性IP检测授权 > 创建委托”来创建。
说明
如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。
前提条件
● 已创建CDM集群。
● 已拥有EIP配额,才能绑定EIP。
操作步骤
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-2 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 对相应需要操作的集群可以进行绑定EIP或解绑EIP的操作。
● 绑定EIP:单击集群操作列中的“绑定弹性IP”,进入EIP选择界面。
● 解绑EIP:选择“更多 > 解绑弹性IP”。
步骤3 单击“确定”绑定或解绑EIP。
----结束
3.3 关机/开机集群
操作场景
为了降低资源使用成本,当您短期内不需要使用CDM时,可以使用CDM关机功能,仅 需要迁移数据时才开机。
说明
CDM集群关机期间会产生一定的低额按需费用,但不会消耗您的套餐包时长。
前提条件
已创建CDM集群。
关机/开机集群
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-3 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 选择集群操作列中的“更多 > 关机”,进入关机集群确认界面。
图3-4 关机集群
步骤3 如果不希望影响业务运行,建议您选择优雅关机,点击确认后即可完成集群关机操 作。
● 优雅关机:可选择当所有作业完成后进行关机或等待一段时间后关机。
注意,选择“等待所有作业完成,并停止接受新作业”选项时,如果集群中存在 定时任务,不会拒绝定时任务运行。
● 立即关机:业务进程会中断,并关闭集群。
步骤4 对于当前为关机状态、需要开机的集群,选择集群操作列中的“更多 > 开机”,集群 状态变更为“正在开机”,开机完成后集群状态显示“运行中”。
----结束
3.4 重启集群
操作场景
在进行某些配置修改(如关闭用户隔离等)后,需要重启集群才能生效。此时您需要 进行集群重启操作。
前提条件
已创建CDM集群。
重启集群
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-5 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 选择集群操作列中的“更多 > 重启”,进入重启集群确认界面。
图3-6 重启集群
步骤3 您可以选择优雅重启或重启集群VM,选择完成并点击确认后即可完成集群重启操作。
● 优雅重启:只重启CDM服务的进程,不会重启集群虚拟机。
注意,选择“等待所有作业完成,并停止接受新作业”选项时,如果集群中存在 定时任务,不会拒绝定时任务运行。
● 重启集群VM:业务进程会中断,并重启集群的虚拟机。
----结束
3.5 删除集群
操作场景
当您确认不再使用当前集群后,可以删除当前CDM集群。
注意
删除CDM集群后集群以及数据都销毁且无法恢复,请您谨慎操作!
删除集群前,请您确认如下注意事项:
● 待删除集群确认已不再使用,且其中的连接和作业数据您已通过批量管理作业中 的导出作业功能进行备份。
● 对于购买DGC服务时系统赠送的CDM集群,非常不建议您进行删除操作。该集群 删除后无法再次赠送,只能另外购买。
● 删除集群后,CDM集群不再按需计费或扣除套餐时长。如果您为删除的CDM集群 购买了CDM折扣套餐或包年包月形式的DGC批量数据迁移增量包,则请参考云服 务退订章节进行套餐包退订。
前提条件
已创建CDM集群。
删除集群
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-7 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 选择集群操作列中的“更多 > 删除”,进入删除集群确认界面。
图3-8 删除集群
步骤3 点击“确认”,即开始删除CDM集群。
----结束
3.6 下载集群日志
操作场景
本章节指导用户获取集群的日志。
前提条件
已创建CDM集群。
操作步骤
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-9 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 选择集群操作列中的“更多 > 下载日志”,选择下载日志类型。
图3-10 下载日志类型
步骤3 确认后,即可下载日志到本地。
----结束
3.7 查看集群基本信息/修改集群配置
操作场景
CDM集群已经创建成功后,您可以查看集群基本信息,并修改集群的配置。
● 查看集群基本信息:
– 集群信息:集群版本、创建时间、项目ID、实例ID和集群ID等。
– 节点配置:集群规格、CPU和内存配置等信息。
– 网络信息:网络配置
● 支持修改集群的以下配置:
– 自动关机:当集群中没有作业在运行,且没有定时作业时,CDM集群会在待 机15分钟后自动关机,以帮您节约成本。
– 定时开/关机:定时开/关机功能和自动关机功能不可同时开启。定时开/关机 功能支持配置每天的开/关机时间。
注意,开启定时关机后,集群将会在预设的时间自动关闭,不会等待运行中 的作业执行完成。
– 消息通知:CDM的迁移作业(目前仅支持表/文件迁移的作业)失败时,或者 EIP异常时,会发送短信或邮件通知用户。该功能产生的消息通知不会计入收 费项。
– 用户隔离:控制其他用户是否能够查看该集群中的迁移作业、连接。
▪
开启该功能时,该集群中的迁移作业、连接会被隔离,华为云帐号下的 其他IAM用户无法查看到该集群下的作业、连接。▪
关闭该功能时,该集群中的迁移作业、连接信息可以用户共享,华为云 帐号下的所有拥有相应权限的IAM用户可以查看、操作。注意,用户隔离关闭后需要重启集群VM才能生效。
前提条件
已创建CDM集群。
查看集群基本信息
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-11 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 单击集群名称,可查看集群的基本信息。
图3-12 CDM 集群的配置信息
----结束
修改集群配置
步骤1 进入CDM主界面,单击左侧导航上的“集群管理”,进入集群管理界面。
图3-13 集群列表
说明
“创建来源”列仅通过DGC服务进入数据集成界面可以看到。
步骤2 单击集群名称后,选择“集群配置”页签,可修改自动关机、定时开/关机、消息通 知、用户是否隔离的配置。
图3-14 修改集群配置
步骤3 修改完成后单击“保存”,返回集群管理界面。
步骤4 如果是关闭用户隔离,需要重启集群VM才能生效,在集群列表处,选择操作列中的
“更多 > 重启”。
图3-15 重启集群
● 优雅重启:只重启CDM服务的进程,不会重启集群虚拟机。
● 重启集群VM:业务进程会中断,并重启集群的虚拟机。
步骤5 选择“重启集群VM”后单击“确定”。
----结束
3.8 查看监控指标
3.8.1 支持的监控指标
前提条件
使用CDM监控功能,需获取CES相关权限。
功能说明
本节定义了批量数据迁移上报云监控的监控指标的命名空间、监控指标列表和维度定 义,用户可以通过云监控提供的API接口来检索监控指标。
命名空间
SYS.CDM
监控指标
CDM集群支持的监控指标如表3-2所示。
表3-2 CDM 的监控指标 指标ID 指标名
称
含义 取值范围 测量对象 监控周期
(原始指 标)
bytes_i
n 网络流
入速率
该指标用于统计每秒流 入测量对象的网络流 量。
单位:字节/秒。
≥ 0 bytes/s CDM集群
实例 1分钟
bytes_o
ut 网络流 出速率
该指标用于统计每秒流 出测量对象的网络流 量。
单位:字节/秒。
≥ 0 bytes/s CDM集群
实例 1分钟
cpu_us
age CPU使 用率
该指标用于统计测量对 象的CPU使用率。
单位:%。
0%~100% CDM集群 实例
1分钟
mem_u
sage 内存使 用率
该指标用于统计测量对 象的内存使用率。
单位:%。
0%~100% CDM集群
实例 1分钟
disk_us
age 磁盘利 用率
该指标为从物理机层面 采集的磁盘使用率,数 据准确性低于从弹性云 服务器内部采集的数 据。
单位:%。
0.001%~9
0% CDM集群
实例 1分钟
disk_io 磁盘io 该指标为从物理机层面 采集的磁盘每秒读取和 写入的字节数,数据准 确性低于从弹性云服务 器内部采集的数据。
单位:Byte/sec
0~10GB CDM集群 实例
1分钟
tomcat _heap_
usage
堆内存 使用率
该指标为从物理机层面 采集的堆内存使用率,
数据准确性低于从弹性 云服务器内部采集的数 据。
单位:%。
0.001%~9
0% CDM集群
实例 1分钟
tomcat _conne ct
tomcat 并发连 接数
该指标为从物理机层面 采集的tomcat并发连接 数。
单位:Count/个。
0~214748
3647 CDM集群 实例
1分钟
指标ID 指标名 称
含义 取值范围 测量对象 监控周期
(原始指 标)
tomcat _thread _count
tomcat 线程数
该指标为从物理机层面 采集的tomcat所占线程 数。
单位:Count/个。
0~214748
3647 CDM集群
实例 1分钟
pg_con
nect 数据库 连接数
该指标为从物理机层面 采集的postgres数据库 连接数。
单位:Count/个。
0~214748
3647 CDM集群
实例 1分钟
pg_sub mission _row
历史记 录表行 数
该指标为从物理机层面 采集的postgres数据库 submission表行数。
单位:Count/个。
0~214748
3647 CDM集群 实例
1分钟
pg_fail ed_job_
rate
失败作 业率
该指标为从物理机层面 sqoop进程采集的失败 作业率。
单位:%。
0.001%~1
00% CDM集群
实例 1分钟
inodes_
usage Inodes 利用率
该指标为从物理机层面 采集的磁盘inodes使用 率,数据准确性低于从 弹性云服务器内部采集 的数据。
单位:%。
0.001%~0.
9% CDM集群
实例 1分钟
维度
Key Value
instance_id 云数据迁移服务实例
3.8.2 设置告警规则
操作场景
通过设置CDM集群告警规则,用户可自定义监控目标与通知策略,及时了解CDM集群 运行状况,从而起到预警作用。
设置CDM集群的告警规则包括设置告警规则名称、监控对象、监控指标、告警阈值、
监控周期和是否发送通知等参数。本节介绍了设置CDM集群告警规则的具体方法。
操作步骤
步骤1 进入CDM主界面,选择“集群管理”,选择集群操作列中的“更多 > 查看监控指 标”。
步骤2 点击监控指标页面左上角的返回按钮,进入云监控服务的界面,选择“云数据迁移服 务”服务监控项对应操作列的“创建告警规则”。
图3-16 “云数据迁移服务”服务监控项
步骤3 根据界面提示设置CDM集群的告警规则。
步骤4 设置完成后,单击“确定”。当符合规则的告警产生时,系统会自动进行通知。
说明
更多关于CDM集群监控规则的信息,请参见云监控用户指南。
----结束
3.8.3 查看监控指标
操作场景
您通过云监控服务可以对CDM集群的运行状态进行日常监控。您可以通过云监控管理 控制台,直观地查看各项监控指标。
由于监控数据的获取与传输会花费一定时间,因此,监控显示的是当前时间5~10分钟 前的状态。如果您的CDM集群刚刚创建完成,请等待5~10分钟后查看监控数据。
前提条件
● CDM集群正常运行。
关机、重启失败、不可用状态的集群,无法查看其监控指标。当集群再次启动或 恢复后,即可正常查看。
● CDM集群已正常运行一段时间(约10分钟)。
对于新创建的集群,需要等待一段时间,才能查看上报的监控数据和监控视图。
操作步骤
步骤1 进入CDM主界面,选择“集群管理”,选择集群操作列中的“更多 > 查看监控指 标”。
步骤2 在CDM监控页面,可查看所有监控指标的小图。
图3-17 查看监控指标
步骤3 单击小图右上角的 ,可进入大图模式查看。
步骤4 您可以在左上角选择时长作为监控周期,查看一段时间的指标变化情况。
----结束
4 管理连接
4.1 支持的数据源
批量数据迁移有两种迁移方式,支持的数据源不相同:
● 表/文件迁移:适用于数据上云、云服务间数据交换、云上数据迁移到本地业务系 统。请参见表/文件迁移支持的数据源类型。
● 整库迁移:适用于数据库上云,请参见整库迁移支持的数据源类型。
● 另外,本章还列举了一些常见数据库迁移时所支持的数据类型,请参见达梦数据 库迁移时支持的数据类型、开源MySQL数据库迁移时支持的数据类型、Oracle数 据库迁移时支持的数据类型和SQL Server数据库迁移时支持的数据类型。
表/文件迁移支持的数据源类型
表/文件迁移时支持的数据源如表4-1所示。
表4-1 表/文件迁移支持的数据源
数据源分类 数据源 读取 写入 说明
数据仓库 数据仓库服务
(DWS) 支持 支持 -
数据湖探索(DLI) 支持 支持 - FusionInsight LibrA 支持 不支持 - Hadoop(仅支
持本地存储,不 支持存算分离场 景,不支持 Ranger场景,
不支持ZK开启 SSL场景)
MRS HDFS 支持 支持 建议使用的版本:
● 2.8.X
● 3.1.X
MRS HBase 支持 支持 建议使用的版本:
● 2.1.X
● 1.3.X
数据源分类 数据源 读取 写入 说明
MRS Hive 支持 支持 暂不支持2.x版 本,建议使用的版 本:
● 1.2.X
● 3.1.X
FusionInsight HDFS 支持 不支持 建议使用的版本:
● 2.8.X
● 3.1.X
FusionInsight HBase 支持 不支持 建议使用的版本:
● 2.1.X
● 1.3.X FusionInsight Hive 支持 不支持 暂不支持2.x版
本,建议使用的版 本:
● 1.2.X
● 3.1.X
Apache HBase 支持 不支持 建议使用的版本:
● 2.1.X
● 1.3.X Apache Hive 支持 不支持 暂不支持2.x版
本,建议使用的版 本:
● 1.2.X
● 3.1.X
Apache HDFS 支持 不支持 建议使用的版本:
● 2.8.X
● 3.1.X 对象存储 对象存储服务
(OBS) 支持 支持 -
阿里云对象存储
(OSS) 支持 不支持 ● 对象存储服务
之间的迁移,
推荐使用对象 存储迁移服务 OMS。
七牛云对象存储
(KODO) 支持 不支持
亚马逊对象存储S3 支持 不支持 腾讯云对象存储
(COS) 支持 不支持
数据源分类 数据源 读取 写入 说明
文件系统 FTP 支持 不支持 HTTP文件系统仅
支持到OBS\HDFS 的迁移。
文件系统到OBS的 迁移推荐使用 obsutil工具,请 参见obsutil简 介。
SFTP 支持 不支持
HTTP 支持 不支持
关系数据库 云数据库 MySQL 支持 支持 不支持OLTP到 OLTP迁移,此场 景推荐通过数据复 制服务DRS进行迁 移。
云数据库PostgreSQL 支持 支持
云数据库 SQL Server 支持 支持
MySQL 支持 不支持
PostgreSQL 支持 不支持 Microsoft SQL
Server 支持 不支持
Oracle 支持 不支持
IBM Db2 支持 不支持
数据源分类 数据源 读取 写入 说明
SAP HANA 支持 不支持 SAP HANA数据源 存在如下约束:
● 仅支持
2.00.050.00.15 92305219版 本。
● 仅支持Generic Edition。
● 不支持BW/4 FOR HANA。
● 仅支持英文字 母的数据库 名、表名与列 名,不支持存 在空格、符号 等特殊字符。
● 仅支持日期、
数字、布尔、
字符(除SHORTTEXT)
类型的数据类 型,不支持二 进制类型等其 他数据类型。
● 迁移时不支持 目的端自动建 表。
MYCAT 支持 不支持 -
达梦数据库 DM 支持 不支持 仅支持导出到 DWS、Hive。
Derecho
(GaussDB) 不支持 不支持 待下线。
NewSQL (GaussDB) 不支持 不支持 待下线。
NoSQL 分布式缓存服务
(DCS) 不支持 支持 仅支持MRS到DCS 迁移。
Redis到DCS的迁 移,可以通过其他 方式进行,请参见 自建Redis迁移至
DCS。
文档数据库服务
(DDS) 支持 支持 仅支持DDS和
MRS之间迁移。
数据源分类 数据源 读取 写入 说明 表格存储服务
(CloudTable) 支持 支持 - CloudTable
OpenTSDB 支持 支持 -
Redis 支持 不支持 仅支持Redis到 MRS迁移。
Redis到DCS的迁 移,可以通过其他 方式进行,请参见 自建Redis迁移至
DCS。
MongoDB 支持 不支持 仅支持MongoDB 到MRS迁移。
Cassandra 支持 不支持 - 消息系统 数据接入服务
(DIS) 支持 不支持 仅支持导出数据到
云搜索服务。
Apache Kafka 支持 不支持 仅支持导出数据到 云搜索服务。
MRS Kafka 支持 不支持 仅支持导出数据到 云搜索服务,不支 持Ranger场景,
不支持ZK开启SSL 场景。
DMS Kafka 支持 不支持 仅支持导出数据到 云搜索服务。
搜索 Elasticsearch 支持 不支持 Elasticsearch仅支 持非安全模式。
云搜索服务(CSS) 支持 支持 导入数据到CSS推 荐使用Logstash,
请参见使用
Logstash导入数
据到Elasticsearch。
说明
上表中非云服务的数据源,例如MySQL,既可以支持用户本地数据中心自建的MySQL,也可以 是用户在ECS上自建的MySQL,还可以是第三方云的MySQL服务。
整库迁移支持的数据源类型
整库迁移适用于将本地数据中心或在ECS上自建的数据库,同步到云上的数据库服务或 大数据服务中,适用于数据库离线迁移场景,不适用于在线实时迁移。
批量数据迁移支持整库迁移的数据源如表4-2所示。
表4-2 整库迁移支持的数据源
数据源分类 数据源 读取 写入 说明
数据仓库 数据仓库服务
(DWS) 支持 支持 -
FusionInsight LibrA 支持 不支持 - Hadoop(仅支
持本地存储,不 支持存算分离场 景,不支持 Ranger场景,
不支持ZK开启 SSL场景)
MRS HBase 支持 支持 整库迁移仅支持导 出到MRS
HBase。
建议使用的版本:
● 2.1.X
● 1.3.X
MRS Hive 支持 支持 整库迁移仅支持导 出到关系型数据 库。
暂不支持2.x版 本,建议使用的版 本:
● 1.2.X
● 3.1.X
FusionInsight HBase 支持 不支持 建议使用的版本:
● 2.1.X
● 1.3.X
FusionInsight Hive 支持 不支持 整库迁移仅支持导 出到关系型数据 库。
暂不支持2.x版 本,建议使用的版 本:
● 1.2.X
● 3.1.X
Apache HBase 支持 不支持 建议使用的版本:
● 2.1.X
● 1.3.X
数据源分类 数据源 读取 写入 说明
Apache Hive 支持 不支持 整库迁移仅支持导 出到关系型数据 库。
暂不支持2.x版 本,建议使用的版 本:
● 1.2.X
● 3.1.X 关系数据库 云数据库 MySQL 支持 支持 不支持OLTP到
OLTP迁移,此场 景推荐通过数据复 制服务DRS进行迁 移。
云数据库PostgreSQL 支持 支持
云数据库 SQL Server 支持 支持
MySQL 支持 不支持
PostgreSQL 支持 不支持 Microsoft SQL
Server 支持 不支持
Oracle 支持 不支持
IBM Db2 支持 不支持
数据源分类 数据源 读取 写入 说明 SAP HANA 支持 不支持 ● 仅支持
2.00.050.00.15 92305219版 本。
● 仅支持Generic Edition。
● 不支持BW/4 FOR HANA。
● 仅支持英文字 母的数据库 名、表名与列 名,不支持存 在空格、符号 等特殊字符。
● 仅支持日期、
数字、布尔、
字符(除SHORTTEXT)
类型的数据类 型,不支持二 进制类型等其 他数据类型。
● 迁移时不支持 目的端自动建 表。
MYCAT 支持 不支持 -
达梦数据库 DM 支持 不支持 仅支持导出到 DWS、Hive NoSQL 分布式缓存服务
(DCS) 不支持 支持 仅支持MRS到DCS 迁移。
文档数据库服务
(DDS) 支持 支持 仅支持DDS和
MRS之间迁移。
表格存储服务
(CloudTable) 支持 支持 -
达梦数据库迁移时支持的数据类型
源端为达梦数据库,目的端为Hive、DWS时,支持的数据类型如下:
表4-3 达梦数据库作为源端时支持的数据类型
类别 类型 简要释义 存储格式示
例 Hive DWS
字符 CHAR 用于存储指定定长字
符串 ‘a’或
‘aaaaa’ CHAR CHAR CHARA
CTER 与 CHAR 相同 ‘a’或
‘aaaaa’ CHAR CHAR VARCH
AR 用于存储指定变长字
符串 ‘a’或
‘aaaaa’ VARCHAR VARCHAR VARCH
AR2 与 VARCHAR 相同 ‘a’或
‘aaaaa’ VARCHAR VARCHAR 数值 NUMERI
C 用于存储零、正负定
点数 52.36 DECIMAL NUMERIC DECIMA
L 与 NUMERIC 相似 52.36 DECIMAL NUMERIC DEC 与 DECIMAL 相同 52.36 DECIMAL NUMERIC NUMBE
R 与 NUMERIC 相同 52.36 DECIMAL NUMERIC INTEGE
R 用于存储有符号整 数,精度为10,标 度为0
5236 INT INTEGER
INT 与 INTEGER 相同 5236 INT INTEGER BIGINT 用于存储有符号整
数,精度为19,标 度为0
5236 BIGINT BIGINT
TINYINT 用于存储有符号整 数,精度为3,标度 为0
100 TINYINT SMALLINT
SMALLI
NT 用于存储有符号整 数,精度为5,标度 为0
9999 SMALLIN
T SMALLINT
BYTE 与 TINYINT 相似,
精度为3,标度为0 100 TINYINT SMALLINT BINARY 用于存储定长二进制
数据 0x2A3B4058 BINARY
(NULL) BYTEA
(NULL)
VARBIN
ARY 用于存储可变长二进
制数据 0x2A3B4058 BINARY
(NULL) BYTEA
(NULL)
FLOAT 用于存储带二进制精 度的浮点数
52.36 FLOAT FLOAT8
类别 类型 简要释义 存储格式示
例 Hive DWS
DOUBL
E 与FLOAT类似 52.36 DOUBLE FLOAT8 REAL 用于存储带二进制精
度的浮点数,但它不 能由用户指定使用的 精度
52.3 FLOAT FLOAT4
DOUBL EPRECISI ON
用于存储指明双精度
的浮点数 52.3 DOUBLE FLOAT8
位串 BIT 用于存储整数数据
1、0 或 NULL 1、0 或
NULL TINYINT(
1 0NULL)
BOOLEAN(tr ue false NULL) 日期
时间 DATE 用于存储年、月、日
信息 1999-10-01'
、'1999/10/01' 或'1999.10.01'
DATE TIMESTAMP
TIME 用于存储时、分、秒
信息 '09:10:21'或
'9:10:21' 不支持
(String
)
TIME
TIMEST
AMP 用于存储年、月、
日、时、分、秒信息 2002-12-12 09:10:21','20 02-12-12 9:10:21' '2002/12/12 09:10:21' 或 '2002.12.12 09:10:21'
TIMESTA
MP TIMESTAMP
TIMEWITH TIMEZONE
用于存储一个带时区 的 TIME 值,其定义 是在 TIME 类型的后 面加上时区信息
'09:10:21 +8:00', '09:10:21+8:
00'或'9:10:21+8:0 0'
不支持(String
)
TIME WITH TIME ZONE
类别 类型 简要释义 存储格式示
例 Hive DWS
TIMEST AMPWITH TIMEZONE
用于存储一个带时区 的 TIMESTAMP 值,其定义是 TIMESTAMP类型的 后面加上时区信息
2002-12-12 09:10:21 +8:00','2002- 12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或 '2002.12.12 09:10:21 +8:00'
TIMESTA
MP TIMESTAMP WITH TIME ZONE
TIMEST AMPWITH LOCAL TIMEZONE
用于存储一个本地时 区的 TIMESTAMP 值,能够将标准时区 类型 TIMESTAMP WITH TIME ZONE 类型转化为本地时区 类型
2002-12-12 09:10:21 +8:00','2002- 12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或 '2002.12.12 09:10:21 +8:00'
不支持(String
)
不支持(TEXT)
DATETI MEWITH TIMEZONE
同TIMESTAMP
WITH TIME ZONE 2002-12-12 09:10:21 +8:00','2002- 12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或 '2002.12.12 09:10:21 +8:00'
TIMESTA
MP TIMESTAMP WITH TIME ZONE
INTERV
AL YEAR 描述一个若干年的间 隔,引导精度规定了 年的取值范围
INTERVAL
'0015' YEAR 不支持
(String
)
不支持(VARCHAR
) INTERV
AL YEAR TOMONTH
描述一个若干年若干 月的间隔,引导精度 规定了年的取值范围
INTERVAL '0015-08' YEAR TO MONTH
不支持(String
)
不支持(VARCHAR
)
类别 类型 简要释义 存储格式示
例 Hive DWS
INTERV ALMONTH
描述一个若干月的间 隔,引导精度规定了 月的取值范围
INTERVAL '0015' MONTH
不支持(String
)
不支持(VARCHAR
) INTERV
AL DAY 描述一个若干日的间 隔,引导精度规定了 日的取值范围
INTERVAL
'150' DAY 不支持
(String
)
不支持(VARCHAR
) INTERV
AL DAY TOHOUR
描述一个若干日若干 小时的间隔,引导精 度规定了日的取值范 围
INTERVAL '9 23' DAY TO HOUR
不支持(String
)
不支持(VARCHAR
)
INTERV AL DAY TOMINUTE
描述一个若干日若干 小时若干分钟的间 隔,引导精度规定了 日的取值范围
INTERVAL '09 23:12' DAY TO MINUTE
不支持(String
)
不支持(VARCHAR
)
INTERV AL DAY TOSECON D
描述一个若干日若干 小时若干分钟若干秒 的间隔,引导精度规 定了日的取值范围
INTERVAL '0923:12:01.1' DAY TO SECOND
不支持(String
)
不支持(VARCHAR
)
INTERV ALHOUR
描述一个若干小时的 间隔,引导精度规定 了小时的取值范围
INTERVAL
'150' HOUR 不支持
(String
)
不支持(VARCHAR
) INTERV
ALHOUR TOMINUTE
描述一个若干小时若 干分钟的间隔,引导 精度规定了小时的取 值范围
INTERVAL '23:12' HOUR TO MINUTE
不支持(String
)
不支持(VARCHAR
)
INTERV ALHOUR TOSECON D
描述一个若干小时若 干分钟若干秒的间 隔,引导精度规定了 小时的取值范围
INTERVAL '23:12:01.1' HOUR TO SECOND
不支持(String
)
不支持(VARCHAR
)
INTERV ALMINUTE
描述一个若干分钟的 间隔,引导精度规定 了分钟的取值范围
INTERVAL '150' MINUTE
不支持(String
)
不支持(VARCHAR
) INTERV
ALMINUTE TOSECON D
描述一个若干分钟若 干秒的间隔,引导精 度规定了分钟的 取值范围
INTERVAL '12:01.1' MINUTE TO SECOND
不支持(String
)
不支持(VARCHAR
)
类别 类型 简要释义 存储格式示
例 Hive DWS
INTERV ALSECON D
描述一个若干秒的间 隔,引导精度规定了 秒整数部分的 取值范围
INTERVAL '51.1' SECOND
不支持(String
)
不支持(VARCHAR
)
多媒
体 IMAGE IMAGE 用于指明多 媒体信息中的图像类 型。
图像由不定长的象素 点阵组成,长度最大 为 2G-1 字节。该类 型除了存储图像数据 之外,还可用于存储 任何其它二进制数 据。
0x2A3B4058
(二进制数据) 不支持 不支持
LONGV ARBINA RY
与IMAGE相同 0x2A3B4059
(二进制数据) 不支持 不支持
TEXT 用于存储长字符串类 型,其字符串的长度 最大为 2G-1,存储长 的文本串
0x5236(二进
制数据) 不支持 不支持
LONGV ARCHA R
与 TEXT 相似 0x5236(二进
制数据) 不支持 不支持
BLOB 用于存储变长的二进 制大对象,长度最大 为2G-1字节
0x5236(二进
制数据) 不支持 不支持
CLOB 用于存储变长的二进 制大对象,长度最大 为2G-1字节
0x5236(二进
制数据) 不支持 不支持
BFILE 用于指明存储在操作 系统中的二进制文 件,
文件存储在操作系统 而非数 据库中,仅 能进行只读访问。
- 不支持 不支持
开源 MySQL 数据库迁移时支持的数据类型
源端为开源MySQL数据库,目的端为Hive、DWS时,支持的数据类型如下:
表4-4 开源 MySQL 数据库作为源端时支持的数据类型
类别 类型 简要释义 存储格式示
例 Hive DWS
字符
串 CHA
R(M) 固定长度的字符串是 以长度为1到255之间 个字符长度(例如:
CHAR(5)),存储右空 格填充到指定的长 度。
限定长度不是必需 的,它会默认为1。
‘a’或‘aaaaa’ CHAR CHAR
VARCHAR(
M)
可变长度的字符串是 以长度为1到255之间 字符数(高版本的 MySQL超过255); 例 如: VARCHAR(25).
创建VARCHAR类型字 段时,必须定义长 度。
‘a’或‘aaaaa’ VARCHAR VARCHAR
数值 DECI MAL(M,D)
非压缩浮点数不能是 无符号的。在解包小 数,每个小数对应于 一个字节。
定义显示长度(M)和小 数(D)的数量是必需 的。 NUMERIC是 DECIMAL的同义词。
52.36 DECIMAL D为0时对应 BIGINT D不为0时对 应NUMBERIC
NUMBERIC 与 DECIMAL 相同 - DECIMAL NUMBERIC
INTEG
ER 一个正常大小的整 数,可以带符号。如 果是有符号的,它允 许的范围是
从-2147483648到 2147483647。
如果是无符号,允许 的范围是从0到
4294967295。 可以指 定多达11位的宽度。
5236 INT INTEGER
INTEG ERUNSI GNED
INTEGER 的无符号形
式 - BIGINT INTEGER
INT 与INTEGER相同 5236 INT INTEGER
INTUNSI GNED
与INTEGER
UNSIGNED相同 - BIGINT INTEGER
BIGIN
T 一个大的整数,可以 带符号。如果有符 号,允许范围
为-922337203685477 5808到
92233720368547758 07。如果无符号,允 许的范围是从0到 18446744073709551 615. 可以指定最多20 位的宽度。
5236 BIGINT BIGINT
BIGIN TUNSI GNED
BIGINT的无符号形式 - BIGINT BIGINT
MEDIUMIN T
一个中等大小的整 数,可以带符号。如 果有符号,允许范围 为-8388608至 8388607。
如果无符号,允许的 范围是从0到
16777215,可以指定 最多9位的宽度。
-128、127 INT INTEGER
MEDIUMIN TUNSI GNED
MEDIUMINT的无符号
形式 - BIGINT INTEGER
TINYI
NT 一个非常小的整数,
可以带符号。如果是 有符号,它允许的范 围是从-128到127。
如果是无符号,允许 的范围是从0到255,
可以指定多达4位数的 宽度。
100 TINYINT SMALLINT
TINYI NTUNSI GNED
TINYINT的无符号形式 - TINYINT SMALLINT
BOOL MySQL的bool实际上
就是tinyint(1) -128、127 SMALLIN
T BYTEA
SMALLINT 一个小的整数,可以 带符号。如果有符 号,允许范围 为-32768至32767。
如果无符号,允许的 范围是从0到65535,
可以指定最多5位的宽 度。
9999 SMALLIN
T SMALLINT
SMALLINT UNSIGNED
SMALLINT的无符号形 式
- INT SMALLINT
REAL 同DOUBLE - DOUBLE - FLOAT(M,D
)
不能使用无符号的浮 点数字。可以定义显 示长度(M)和小数位数 (D)。这不是必需的,
并且默认为10,2。其中 2是小数的位数,10是 数字(包括小数)的总 数。小数精度可以到 24个浮点。
52.36 FLOAT FLOAT4
DOUBLE(M, D)
不能使用无符号的双 精度浮点数。可以定 义显示长度(M)和小数 位数(D)。 这不是必需 的,
默认为16,4,其中4是 小数的位数。小数精 度可以达到53位的 DOUBLE。 REAL是 DOUBLE同义词。
52.36 DOUBLE FLOAT8
DOUBLE PRECI SION
与DOUBLE相似 52.3 DOUBLE FLOAT8
位 BIT(M
) 存储位值的BIT类型。
BIT(M)可以存储多达 M位的值,M的范围在 1到64之间。
B'1111100'
B'1100' TINYINT BYTEA
日期
时间 DATE 以YYYY-MM-DD格式 的日期,在
1000-01-01和
9999-12-31之间。 例 如,1973年12月30日 将被存储为
1973-12-30。
1999-10-01 DATE TIMESTAMP
TIME 用于存储时、分、秒
信息 '09:10:21'或
'9:10:21' 不支持
(String
)
TIME
DATETIME 日期和时间组合以 YYYY-MM-DD HH:MM:SS格式,在 1000-01-01 00:00:00 到9999-12-31
23:59:59之间。例如,
1973年12月30日下午 3:30,会被存储为 1973-12-30 15:30:00。
'1973-12-30
15:30:00' TIMESTA
MP TIMESTAMP
TIMES
TAMP 1970年1月1日午夜之 间的时间戳,到2037 的某个时候。这看起 来像前面的DATETIME 格式,无需只是数字 之间的连字符; 1973年 12月30日下午3点30分 将被存储为
19731230153000(YYY YMMDDHHMMSS)。
197312301
53000 TIMESTA
MP TIMESTAMP
YEAR(
M) 以2位或4位数字格式 来存储年份。如果长 度指定为2(例如 YEAR(2)),年份就可 以为1970至
2069(70〜69)。如果 长度指定为4,年份范 围是1901-2155,默认 长度为4。
2000 不支持
(String
)
不支持
多媒 体
(二 进 制)
BINAR
Y(M) 字节数为M,允许长度 为0-M的变长二进制字 符串,字节数为值得 长度加1
0x2A3B405 8 (二进制数 据)
不支持 BYTEA
VARBI NARY(M)
字节数为M,允许长度 为0-M的定长二进制字 符串
0x2A3B405 9 (二进制数 据)
不支持 BYTEA
TEXT 字段的最大长度是 65535个字符。 TEXT 是“二进制大对 象”,并用来存储大 的二进制数据,如图 像或其他类型的文 件。
0x5236(二
进制数据) 不支持 不支持
TINYT
EXT 0-255字节短文本二进
制字符串 - - 不支持
MEDIUMTE XT
0-167772154字节中等 长度文本二进制字符 串
- - 不支持
LONGTEXT 0-4294967295字节极 大长度文本二进制字 符串
- - 不支持
BLOB 字段的最大长度是 65535个字符。 BLOB 是“二进制大对 象”,并用来存储大 的二进制数据,如图 像或其他类型的文 件。BLOB大小写敏 感。
0x5236(二
进制数据) 不支持 BYTEA
TINYB
LOB 0-255字节短文本二进
制字符串 - - BYTEA
MEDIUMBL OB
0-167772154字节中等 长度文本二进制字符 串
- - BYTEA
LONGBLOB 0-4294967295字节极 大长度文本二进制字 符串
0x5236(二
进制数据) 不支持 BYTEA
特殊
类型 SET SET是一个字符串对 象,可以有零或多个 值,其值来自表创建 时规定的允许的一列 值。指定包括多个SET 成员的SET列值时各成 员之间用逗号(‘,’) 间隔开。这样SET成员 值本身不能包含逗 号。
- - 不支持
JSON - - 不支持 不支持
(TEXT)
ENUM 当定义一个ENUM,要 创建它的值的列表,
这些是必须用于选择 的项(也可以是
NULL)。例如,如果想 要字段包含“A”或
“B”或“C”,那么 可以定义为ENUM为 ENUM(“A”,
“B”,“C”)也只有 这些值(或NULL)才能 用来填充这个字段。
- 不支持 不支持
Oracle 数据库迁移时支持的数据类型
源端为Oracle数据库,目的端为Hive、DWS时,支持的数据类型如下:
表4-5 Oracle 数据库作为源端时支持的数据类型
类别 类型 简要释义 Hive DWS
字符串 char 定长字符串,会用空格填充来达
到最大长度。 CHAR CHAR
nchar 包含unicode格式数据的定长字符
串。 CHAR CHAR
varchar
2 是VARCHAR的同义词。这是一个 变长字符串,与CHAR类型不 同,它不会用空格将字段或变量 填充至最大长度。
VARCHAR VARCHAR
nvarcha
r2 包含unicode格式数据的变长字符
串。 VARCHAR VARCHAR
数值 number 能存储精度最多高达38位的数字 DECIMAL NUMERIC binary_f
loat 2位单精度浮点数 FLOAT FLOAT8 binary_
double 64位双精度浮点数 DOUBLE FLOAT8 long 能存储最多2GB的字符数据 不支持 不支持 日期时
间 date 7字节的定宽日期/时间数据类 型,其中包含7个属性:世纪、世 纪中的哪一年、月份、月中的哪 一天、小时、分钟、秒。
DATE TIMESTAMP
timesta
mp 7字节或11字节的定宽日期/时间 数据类型,它包含小数秒
TIMESTA
MP TIMESTAMP