华为云用户手册

  • 设置binlog_row_image为FULL步骤 如果源数据库为云上RDS实例,可通过RDS管理界面的参数配置,将binlog_row_image修改为FULL,完成修改后重启源数据库并重置任务即可。 云数据库RDS for MySQL 8.0版本的binlog_row_image参数默认值为FULL,您无需进行设置。 如果源数据库为本地自建库,请参考如下步骤修复。 登录MySQL源数据库所在服务器。 手动修改my.cnf配置文件,将binlog_row_image参数值修改为FULL后保存。 binlog_row_image=full 为了关闭旧的session,需选择一个非业务时间段,重启源数据库并重置任务。
  • 授权操作说明 创建用户 操作方式: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; · username:待创建的账号。 · host:允许该账号登录的主机,如果允许该账号从任意主机登录数据库,可以使用%。 · password:账号的密码。 例如:授予drsmigration账号具备所有数据库和表的所有权限,并允许从任意主机登录数据库,命令如下。 CREATE USER 'drsmigration'@'%' IDENTIFIED BY 'Drs123456'; 授予相应权限 操作方式: GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; flush privileges; · privileges:授予该账号的操作权限,如SELECT、INSERT、UPDATE等,如果要授予该账号所有权限,则使用ALL · databasename:数据库名。如果要授予该账号具备所有数据库的操作权限,则使用*。 · tablename:表名。如果要授予该账号具备所有表的操作权限,则使用*。 · username:待授权的账号。 · host:允许该账号登录的主机,如果允许该账号从任意主机登录,则使用%。 · WITH GRANT OPTION:授予该账号使用GRANT命令的权限,该参数为可选。 例如:创建一个账号,账号名为drsmigration,密码为Drs123456,并允许从任意主机登录数据库,命令如下。 GRANT ALL ON *.* TO 'drsmigration'@'%';
  • 权限要求 源和目标库的连接账号需要具有登录权限,如果没有该账号,可以通过如下方式创建,以user1为例。 参考语句:CREATE USER 'user1'@'host' IDENTIFIED BY 'password'; DRS的实时迁移、实时同步、实时灾备功能的权限要求,表1 权限要求中以user1为例提供参考语句。 表1 权限要求及参考语句 功能模块 源/业务数据库 目标/灾备数据库 实时迁移 全量迁移权限要求: SELECT、SHOW VIEW、EVENT。 参考语句:GRANT SELECT, SHOW VIEW, EVENT ON *.* TO 'user1'; 全量+增量迁移权限要求: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 其中,REPLICATION SLAVE、REPLICATION CLIENT是全局权限,必须单独开启。参考语句如下: GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user1'; SELECT、SHOW VIEW、EVENT、LOCK TABLES是非全局权限,参考语句如下: GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES ON [待迁移数据库].* TO 'user1'; 全量迁移权限要求: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、REFEREN CES 、WITH GRANT OPTION。当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 参考语句:GRANT SELECT, CREATE, ALTER, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, CREATE VIEW, CREATE ROUTINE, TRIGGER ON *.* TO 'user1' WITH GRANT OPTION; 全量+增量迁移权限要求: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、REFERENCES、WITH GRANT OPTION。当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 参考语句:GRANT SELECT, CREATE, ALTER, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, CREATE VIEW, CREATE ROUTINE, TRIGGER, REFERENCES ON [待迁移数据库].* TO 'user1' WITH GRANT OPTION; 实时同步 SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 其中,REPLICATION SLAVE、REPLICATION CLIENT是全局权限,必须单独开启。参考语句如下: GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user1'; SELECT、SHOW VIEW、EVENT、LOCK TABLES是非全局权限,参考语句如下: GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES ON [待同步数据库].* TO 'user1'; SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFERENCES。 参考语句:GRANT SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, ALTER, REFERENCES ON [待同步数据库].* TO 'user1'; 实时灾备 SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、TRIGGER、REFERENCES、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION,RDS for MySQL实例的root账户默认已具备上述权限。当业务数据库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 参考语句:GRANT SELECT,CREATE,ALTER,DROP,DELETE,INSERT,UPDATE,TRIGGER,SHOW VIEW,EVENT,INDEX,LOCK TABLES,CREATE VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,RELOAD,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'user1'; SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、TRIGGER、REFERENCES、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION,RDS for MySQL实例的root账户默认已具备上述权限。当灾备数据库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 参考语句:GRANT SELECT,CREATE,ALTER,DROP,DELETE,INSERT,UPDATE,TRIGGER,REFERENCES,SHOW VIEW,EVENT,INDEX,LOCK TABLES,CREATE VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,RELOAD,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'user1'@'%' WITH GRANT OPTION; 请在以上参考语句后执行flush privileges;使授权生效。
  • 分片设计规范 对于使用DDS分片集群,建议尽可能的使用分片集合以充分利用性能,详情请参见设置数据分片以充分利用分片性能。 分片集合使用上建议如下: 对于大数据量(数据量过百万),并有较高读写请求的业务场景,数据量随着业务量增大而增大的,建议采用分片。 对于采用hash分片的集合,需要根据业务后面实际数据量大小,采用预分片,提前预置chunk数量,减少自动均衡和分裂对业务运行造成影响。 对于非空集合开启分片,应将均衡器的开启时间窗放在业务空闲时,避免分片间均衡数据与业务冲突影响性能。设置时间窗口的API接口详情请参见设置集群均衡活动时间窗。 需要基于分片键排序查询且增加数据时可以分布均匀建议使用范围分片,其他使用哈希分片。 合理设计shard key,防止出现大量的数据使用相同shard key,导致出现jumbo chunk。 使用分片集群,执行dropDatabase后,一定要执行flushRouterConfig命令,详情请参见如何规避mongos路由缓存缺陷。 业务的update请求需要注意与片键相适配。在使用分片表时,如果出现如下场景则update请求会报错,并返回“An upsert on a sharded collection must contain the shard key and have the simple collation”。 update请求的filter中未携带片键字段且选项multi:false set中未携带片键字段且选项upsert:true
  • 账户密码等级设置 文档数据库服务在控制台侧管理员密码的安全策略: 密码长度为8~32个字符。 密码必须为英文大小写字母、数字、特殊字符~!@#%^*-_=+?()$的组合。 文档数据库对在客户端新创的数据库用户,设置了密码安全策略: 密码长度为8~32个字符。 密码为英文大小写字母、数字、特殊字符~@#%-_!*+=^?的组合。 创建实例数据库以及设置密码时,安全起见,为用户提供了密码复杂度校验,如果不满足要求,请根据提示信息调整密码复杂度。
  • 账户说明 为了给文档数据库实例提供管理服务,您在创建数据库实例时,文档数据库服务会自动为实例创建根账户root(或admin)、监控账户monitor和备份账户backup,这些账户属于华为云实例管理平台,您不能操作或者使用。如果试图删掉、重命名、修改这些账户的密码和权限,会导致出错。 对于数据库管理员账户rwuser,以及您所创建的账户,允许修改账户的密码。 默认账户rwuser以及通过rwuser创建的账户,对系统库admin和config权限受限,无法进行正常操作。对自身创建的库表,具有充分的操作权限。 MongoDB的User一般是在某个固定的认证库下创建的。连接数据库时,需要通过参数--authenticationDatabase来明确指定对应的认证库。 DDS实例中,默认的rwuser用户的认证库,是admin。
  • 创建账户 选择admin数据库。 use admin 以user1账户为例,创建数据库账户。 db.createUser({user: "user1", pwd: "****", passwordDigestor:"server", roles:[{role: "root", db: "admin"}]}) “server”是指在服务端加密密码,为固定值,无需修改。 “****”是新密码,长度8~32位,且必须为英文大小写字母、数字以及特殊字符~@#%-_!*+=^?的组合。 “roles”限制了该账户所具有的权限。若指定一个空数组,表示该账户不具有任何权限。 查看创建结果。 显示如下信息,说明创建成功。 Successfully added user: { "user" : "user1", "passwordDigestor" : "server", "roles" : [ { "role" : "root", "db" : "admin" } ] }
  • DDS各版本的生命周期规划 在正式EOM/EOS前会发布公告,在此期间客户可以通过 数据复制服务 将版本在EOS之前切换到高版本。 EOM:End of Marketing,停止该版本的销售。 EOS:End of Service & support,停止该版本的服务,建议您在执行作业时选择最新版本的引擎。在该日期之后,不再提供该软件版本的任何技术服务支持。 表1 DDS各版本生命周期规划表 版本 计划EOM时间 计划EOS时间 3.4 2023年6月 2025年6月 4.0 2025年4月 2027年4月 4.2 2026年4月 2028年4月 4.4 2027年4月 2029年4月
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", // IAM 用户名 "password": "********", //IAM用户密码 "domain": { "name": "domainname" //IAM用户所属账号名 } } } }, "scope": { "project": { "name": "xxxxxxxx" //项目名称 } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • 配置MongoDB/DDS源端参数 从MongoDB、DDS迁移数据时, CDM 会读取集合的首行数据作为字段列表样例,如果首行数据未包含该集合的所有字段,用户需要自己手工添加字段。 作业中源连接为MongoDB连接时,即从本地MongoDB或DDS导出数据时,源端作业参数如表1所示。 表1 MongoDB/DDS作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 数据库名称 选择待迁移的数据库。 mongodb 集合名称 相当于关系数据库的表名。单击输入框后面的按钮可进入选择集合名的界面,用户也可以直接输入集合名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 COLLECTION 高级属性 查询筛选 创建用于匹配文档的筛选条件,CDM只迁移符合条件的数据。例如: 按表达式对象筛选:例如{'last_name': 'Smith'},表示查找所有“last_name”属性值为“Smith”的文档。 按参数选项筛选:例如{ x : "john" }, { z : 1 },表示查找x=john的所有z字段。 按条件筛选:例如{ "field" : { $gt: 5 } },表示查找field字段中大于5的值。 按时间宏筛选:例如 {"ts":{$gte:ISODate("${dateformat(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',-1,HOUR)}")}},表示查找ts字段中大于时间宏转换后的值。 {'last_name': 'Smith'} 父主题: 配置作业源端参数
  • 配置HBase/CloudTable源端参数 作业中源连接为HBase连接或CloudTable连接时,即从 MRS HBase、 FusionInsight HBase、Apache HBase或者CloudTable导出数据时,源端作业参数如表1所示。 CloudTable或HBase作为源端时,CDM会读取表的首行数据作为字段列表样例,如果首行数据未包含该表的所有字段,用户需要自己手工添加字段。 由于HBase的无Schema技术特点,CDM无法获知数据类型,如果数据内容是使用二进制格式存储的,CDM会无法解析。 从HBase/CloudTable导出数据时,由于HBase/CloudTable是无Schema的存储系统,CDM要求源端数值型字段是以字符串格式存储,而不能是二进制格式,例如数值100需存储格式是字符串“100”,不能是二进制“01100100”。 表1 HBase/CloudTable作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 表名 导出数据的HBase表名。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过 DataArts Studio 数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 TBL_2 列族 可选参数,导出数据所属的列族。 CF1&CF2 高级属性 切分Rowkey 可选参数,选择是否拆分Rowkey,默认为“否”。 是 Rowkey分隔符 可选参数,用于拆分Rowkey的分隔符,若不设置则不切分。 | 起始时间 可选参数,起始时间(包含该值),格式为“yyyy-MM-dd HH:mm:ss”,表示只抽取该时间及以后的数据。 该参数支持配置为时间宏变量,使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 2019-01-01 20:00:00 终止时间 可选参数,终止时间(不包含该值),格式为“yyyy-MM-dd HH:mm:ss”,表示只抽取该时间以前的数据。 该参数支持配置为时间宏变量,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 2019-02-01 20:00:00 父主题: 配置作业源端参数
  • 配置DWS源端参数 作业中源连接为DWS连接时,源端作业参数如表1所示。 表1 DWS作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。 说明: SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。 不支持with语句。 不支持注释 ,比如 "--" ,“/*”。 不支持增删改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id 分区字段含有空值 是否允许分区字段包含空值。 是 拆分作业 选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。 说明: 仅支持目的端为 DLI 和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 是 作业拆分字段 “拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 - 拆分字段最小值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 - 拆分字段最大值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 - 子作业个数 “拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 - 父主题: 配置作业源端参数
  • 配置CloudTable连接 连接CloudTable时,相关参数如表1所示。 表1 CloudTable连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 cloudtable_link ZK链接地址 可通过CloudTable服务的集群管理界面获取该参数值。 cloudtable-cdm-zk1.cloudtable.com:2181,cloudtable-cdm-zk2.cloudtable.com:2181 IAM 统一身份认证 如果所需连接的CloudTable集群在创建时开启了“IAM统一身份认证”,该参数需设置为“是”,否则设置为“否”。 当选择IAM统一身份认证时,需要输入用户名、AK和SK。 否 用户名 登录CloudTable集群的用户名。 admin AK 登录CloudTable集群的访问标识。 您需要先创建当前账号的访问密钥,并获得对应的AK和SK。 - SK 登录CloudTable集群的密钥。 您需要先创建当前账号的访问密钥,并获得对应的AK和SK。 - 是否使用集群配置 您可以通过使用集群配置,简化Hadoop连接参数配置。 否 集群配置名 仅当“是否使用集群配置”为“是”时,此参数有效。此参数用于选择用户已经创建好的集群配置。 集群配置的创建方法请参见管理集群配置。 hadoop_01 单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。 父主题: 管理连接
  • 配置神通(ST)源端参数 从神通(ST)导出数据时,源端作业参数如表1所示。 表1 神通(ST)作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。 说明: SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。 不支持with语句。 不支持注释 ,比如 "--" ,“/*”。 不支持增删改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile 包围符仅对库表配置场景下生成的SQL生效,自定义SQL无法添加包围符。 select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 分区字段含有空值 是否允许分区字段包含空值。 是 父主题: 配置作业源端参数
  • 配置 数据仓库 服务(DWS)连接 连接数据仓库服务(DWS)时,相关参数如表1所示。 表1 数据仓库服务(DWS)连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 dws_link 数据库服务器 配置为要连接的数据库的IP地址或域名。 单击输入框后的“选择”,可获取用户的实例列表。 192.168.0.1 端口 配置为要连接的数据库的端口。 不同的数据库端口不同,请根据具体情况配置。 数据库名称 配置为要连接的数据库名称。 dbname 用户名 待连接数据库的用户。该数据库用户需要有数据表的读写权限,以及对元数据的读取权限。 cdm 密码 用户名密码。 - 使用Agent 是否选择通过Agent从源端提取数据。 是 Agent 单击“选择”,选择管理Agent中已创建的Agent。 - 引用符号 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 " 单次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 1000 SSL加密 可选参数,支持通过SSL加密方式连接数据库,暂不支持自建的数据库。 是 说明: 启用SSL加密需确保DWS本身已启用SSL加密。 连接属性 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: connectTimeout=60与socketTimeout=300:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位s),避免超时导致失败。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关;开源MySQL数据库支持useCursorFetch参数,无需对此参数进行设置。 sslmode=require 说明: 启用SSL加密后sslmode值不设置可能会导致连接失败。 父主题: 管理连接
  • 示例流程 图1 IAM用户授权流程 创建用户组并授权 在IAM控制台创建用户组,并授予CDM集群只读权限“CDM ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择“ 云数据迁移 服务”,进入CDM主界面查看集群,若未提示权限不足,表示“CDM ReadOnlyAccess”已生效。 在“服务列表”中选择除CDM服务外的任一服务,若提示权限不足,表示“CDM ReadOnlyAccess”已生效。
  • 配置DIS源端参数 消息体中的数据是一条类似 CS V格式的记录,可以支持多种分隔符。不支持二进制格式或其他格式的消息内容解析。 作业中源连接为DIS连接时,源端作业参数如所表1示。 表1 DIS作为源端时的作业参数 参数类型 参数 说明 取值样例 基本参数 DIS通道 DIS的通道名。 dis 是否持久运行 用户自定义是否永久运行。设置为长久运行的任务,如果DIS系统发生中断,任务也会失败结束。 是 DIS分区ID DIS分区ID,该参数支持输入多个分区ID,使用英文逗号(,)分隔。 0,1,2 偏移量参数 设置从DIS拉取数据时的初始偏移量: 最新:最大偏移量,即拉取最新的数据。 上次停止处:从上次停止处继续读取。 最早:最小偏移量,即拉取最早的数据。 最新 APP名字 配置用户数据消费程序的唯一标识符,不存在时会自动创建。 cdm 数据格式 解析数据时使用的格式: 二进制格式:适用于文件迁移场景,不解析数据内容原样传输。 CSV格式:以CSV格式解析源数据。 JSON格式:以JSON格式解析源数据。 二进制格式 字段分隔符 数据格式为“CSV格式”时呈现此参数。默认为逗号,使用Tab键作为分隔符请输入“\t”。 , 记录分隔符 数据格式为“CSV格式”或“JSON格式”时呈现此参数。用于配置每条记录之间的分割符。 , 高级属性 最大消息数/poll 可选参数,每次向DIS请求数据限制最大请求记录数。 100 父主题: 配置作业源端参数
  • 配置Redis源端参数 第三方云的Redis服务无法支持作为源端。如果是用户在本地数据中心或ECS上自行搭建的Redis支持作为源端或目的端。 作业中源连接为从本地Redis导出的数据时,源端作业参数如表1所示。 表1 Redis作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 Redis键前缀 键的前缀,类似关系型数据库的表名。 TABLE 值存储类型 仅支持以下数据格式: STRING:不带列名,如“值1,值2”形式。 HASH:带列名,如“列名1=值1,列名2=值2”的形式。 STRING 高级属性 键分隔符 用来分隔关系型数据库的表和列名。 _ 值分隔符 以STRING方式存储时,列之间的分隔符。 ; 字段相同 “值存储类型”参数值为“HASH”显示该参数。 哈希键内有相同的字段。 是 父主题: 配置作业源端参数
  • 配置Hive目的端参数 作业中目的连接为Hive连接时,目的端作业参数如表1所示。 表1 Hive作为目的端时的作业参数 参数名 说明 取值样例 数据库名称 输入或选择写入数据的数据库名称。单击输入框后面的按钮可进入数据库选择界面。 default 表名 输入或选择写入数据的目标表名。单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 TBL_X 自动创表 只有当源端为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作: 不自动创建:不自动建表。 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。 先删除后创建:CDM先删除“表名”参数中指定的表,然后再重新创建该表。 说明: 自动建表只同步列注释,表注释不会被同步。 自动建表不支持同步主键。 不自动创建 导入前清空数据 选择目的端表中数据的处理方式: 是:任务启动前会清除目标表中数据。 否:导入前不清空目标表中的数据,如果选“否”且表中有数据,则数据会追加到已有的表中。 是 待清空分区 “导入前清空数据”设置为“是”时,呈现此参数。 填写待清空分区信息后,表示清空该分区的数据。 单分区:year=2020,location=sun; 多分区:['year=2020,location=sun', 'year=2021,location=earth']. 执行Analyze语句 数据全部写入完成后会异步执行ANALYZE TABLE语句,用于优化Hive表查询速度,执行的SQL如下: 非分区表:ANALYZE TABLE tablename COMPUTE STATIS TICS 分区表:ANALYZE TABLE tablename PARTITION(partcol1[=val1], partcol2[=val2], ...) COMPUTE STATISTICS 说明: “执行Analyze语句”参数配置仅用于单表迁移场景。 是 Hive作为目的端时,会自动创建存储格式为ORC的表。 由于文件格式限制,当前仅支持ORC与Parquet格式写入复杂类型。 源端Hive包含array和map类型时,目的端表格式只支持ORC和parquet复杂类型。若目的端表格式为RC和TEXT时,会对源数据进行处理,支持成功写入。 因map类型为无序的数据结构,迁移到目的端的数据类型可能跟源端顺序不一致。 Hive作为迁移的目的时,如果存储格式为Textfile,在Hive创建表的语句中需要显式指定分隔符。例如: CREATE TABLE csv_tbl( smallint_value smallint, tinyint_value tinyint, int_value int, bigint_value bigint, float_value float, double_value double, decimal_value decimal(9, 7), timestmamp_value timestamp, date_value date, varchar_value varchar(100), string_value string, char_value char(20), boolean_value boolean, binary_value binary, varchar_null varchar(100), string_null string, char_null char(20), int_null int ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( "separatorChar" = "\t", "quoteChar" = "'", "escapeChar" = "\\" ) STORED AS TEXTFILE; 父主题: 配置作业目的端参数
  • 配置DDS目的端参数 作业中目的连接为DDS连接时,即导入数据到文档数据库服务(DDS)时,目的端作业参数如表1所示。 表1 DDS作为目的端时的作业参数 参数名 说明 取值样例 数据库名称 选择待导入数据的数据库。 ddsdb 集合名称 选择待导入数据的集合,相当于关系数据库的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 COLLECTION 父主题: 配置作业目的端参数
  • 配置分库源端参数 作业中源连接为分库连接,源端作业参数如表1所示。 表1 分库作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 模式或表空间 表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,分库连接时此处默认展示对应第一个后端连接的表空间。用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。例如:表名配置为user_[0-9]{1,2},会匹配 user_0 到 user_9,user_00 到 user_99 的表。 SCHEMA_E 表名 表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 table 高级属性 Where子句 表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 选择源连接名称为分库连接对应的后端连接时,此作业即为普通的MySQL作业。 新建源端为分库连接的作业时,在字段映射阶段,可以在源字段新增样值为“${custom(host)}”样式的自定义字段,用于在多个数据库中的多张表迁移到同一张表后,查看表的数据来源。支持的样值包括: ${custom(host)} ${custom(database)} ${custom(fromLinkName)} ${custom(schemaName)} ${custom(tableName)} 父主题: 配置作业源端参数
  • 配置SAP HANA源端参数 SAP HANA作为源端作业参数如表1所示。 表1 SAP HANA作源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。 说明: SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。 不支持with语句。 不支持注释 ,比如 "--" ,“/*”。 不支持增删改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 抽取区分字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id 父主题: 配置作业源端参数
  • 前提条件 已创建CDM集群。 已获取MRS集群的Manager IP、管理员账号和密码,且该账号拥有数据导入、导出的操作权限。 MRS集群和CDM集群之间网络互通,网络互通需满足如下条件: CDM集群与云上服务处于不同区域的情况下,需要通过公网或者专线打通网络。通过公网互通时,需确保CDM集群已绑定EIP,数据源所在的主机可以访问公网且防火墙规则已开放连接端口。 CDM集群与云上服务同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但是子网或安全组不同,还需配置路由规则及安全组规则,配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。 此外,您还必须确保该云服务的实例与CDM集群所属的企业项目必须相同,如果不同,需要修改工作空间的企业项目。
  • 配置PostgreSQL/SQL Server源端参数 作业中源连接为从云数据库 PostgreSQL、云数据库 SQL Server、PostgreSQL、Microsoft SQL Server导出的数据时,源端作业参数如表1所示。 表1 PostgreSQL/SQL Server作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。 说明: SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。 不支持with语句。 不支持注释 ,比如 "--" ,“/*”。 不支持增删改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 分区字段是否允许空值 是否允许分区字段包含空值。 是 按表分区抽取 支持从分区表的各个分区并行抽取数据。启用该功能时,可以通过下面的“表分区”参数指定具体的表分区。 该功能不支持非分区表。 仅支持源端数据源为PostgreSQL时配置该参数。 数据库用户需要具有系统视图dba_tab_partitions和dba_tab_subpartitions的SELECT权限。 否 拆分作业 选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。 说明: 仅支持目的端为DLI和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 是 作业拆分字段 “拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 - 拆分字段最小值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 - 拆分字段最大值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 - 子作业个数 “拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 - 父主题: 配置作业源端参数
  • 配置DLI源端参数 作业中源连接为DLI连接时,源端作业参数如表1所示。 表1 DLI作为源端时的作业参数 参数名 说明 取值样例 资源队列 选择目的表所属的资源队列。 DLI的default队列无法在迁移作业中使用,您需要在DLI中新建SQL队列。 cdm 数据库名称 写入数据的数据库名称。 dli 表名 写入数据的表名。 car_detail 分区 用于抽取分区的信息。 year=2020,location=sun 父主题: 配置作业源端参数
  • 配置DIS连接 连接DIS时,相关参数如表1所示。 表1 DIS连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 dis_link 区域 DIS所在的区域。 - 终端节点 待连接DIS的URL,URL一般格式为:https://Endpoint。 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同。本服务的Endpoint可从终端节点Endpoint获取。 - 访问标识(AK) 登录DIS服务器的访问标识。 您需要先创建当前账号的访问密钥,并获得对应的AK和SK。 - 密钥(SK) 登录DIS服务器的密钥。 您需要先创建当前账号的访问密钥,并获得对应的AK和SK。 - 项目ID DIS的项目ID。 - 父主题: 管理连接
  • 配置达梦数据库 DM源端参数 从达梦数据库 DM导出数据时,源端作业参数如表1所示。 表1 达梦数据库 DM作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。 说明: SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。 不支持with语句。 不支持注释 ,比如 "--" ,“/*”。 不支持增删改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持CHAR、VARCHAR、LONGVARCHAR、TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 当选择CHAR、VARCHAR、LONGVARCHAR抽取分区字段类型时,字段值不支持ASCII字符代码表之外的字符,不支持中文字符。 id Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 分区字段含有空值 是否允许分区字段包含空值。 是 父主题: 配置作业源端参数
  • 配置HDFS目的端参数 作业中目的连接为HDFS连接时,目的端作业参数如表1所示。 表1 HDFS作为目的端时的作业参数 参数名 说明 取值样例 写入目录 写入数据到HDFS服务器的目录。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 /user/output 文件格式 写入后的文件格式,可选择以下文件格式: CSV格式:按CSV格式写入,适用于数据表到文件的迁移。 二进制格式:选择“二进制格式”时不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式,适用于文件到文件的迁移。 如果是文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,此处的“文件格式”只能选择与源端的文件格式一致。 CSV格式 重复文件处理方式 当源端为文件类数据源(HTTP/FTP/SFTP/HDFS/OBS)时配置。 只有文件名和文件大小都相同才会判定为重复文件。写入时如果出现文件重复,可选择如下处理方式: 替换重复文件 跳过重复文件 停止任务 停止任务 压缩格式 写入文件后,选择对文件的压缩格式。支持以下压缩格式: NONE:不压缩。 DEFLATE:压缩为DEFLATE格式。 GZIP:压缩为GZIP格式。 BZIP2:压缩为BZIP2格式。 LZ4:压缩为LZ4格式。 SNAPPY:压缩为SNAPPY格式。 SNAPPY 换行符 文件中的换行符,默认自动识别“\n”、“\r”或“\r\n”。“文件格式”为“二进制格式”时该参数值无效。 \n 字段分隔符 文件中的字段分隔符。“文件格式”为“二进制格式”时该参数值无效。 , 使用包围符 “文件格式”为“CSV格式”,才有该参数,用于将数据库的表迁移到文件系统的场景。 选择“是”时,如果源端数据表中的某一个字段内容包含字段分隔符或换行符,写入目的端时CDM会使用双引号(")作为包围符将该字段内容括起来,作为一个整体存储,避免其中的字段分隔符误将一个字段分隔成两个,或者换行符误将字段换行。例如:数据库中某字段为hello,world,使用包围符后,导出到CSV文件的时候数据为"hello,world"。 否 首行为标题行 在迁移表到CSV文件时,CDM默认是不迁移表的标题行,如果该参数选择“是”,CDM在才会将表的标题行数据写入文件。 否 写入到临时文件 将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。 否 作业成功标识文件 当作业执行成功时,会在写入目录下生成一个标识文件,文件名由用户指定。不指定时默认关闭该功能。 finish.txt 自定义目录层次 支持用户自定义文件的目录层次。例如:【表名】/【年】/【月】/【日】/【数据文件名】. csv - 目录层次 指定文件的目录层次,支持时间宏(时间格式为yyyy/MM/dd)。不填默认为不带层次目录。 说明: 源端为关系型数据库数据源时,目录层次为源端表名+自定义目录,其他场景下为自定义目录。 ${dateformat(yyyy/MM/dd, -1, DAY)} 加密方式 “文件格式”选择“二进制格式”时,该参数才显示。 选择是否对写入的数据进行加密: 无:不加密,直接写入数据。 AES-256-GCM:使用长度为256byte的AES对称加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。该参数在目的端为加密,在源端为解密。 详细使用方法请参见迁移文件时加解密。 AES-256-GCM 数据加密 密钥 “加密方式”选择“AES-256-GCM”时显示该参数,密钥由长度64的十六进制数组成。 请您牢记这里配置的“数据加密密钥”,解密时的密钥与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B 初始化向量 “加密方式”选择“AES-256-GCM”时显示该参数,初始化向量由长度32的十六进制数组成。 请您牢记这里配置的“初始化向量”,解密时的初始化向量与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 5C91687BA886EDCD12ACBC3FF19A3C3F HDFS文件编码只能为“UTF-8”,故HDFS不支持设置文件编码类型。 父主题: 配置作业目的端参数
  • 配置Oracle源端参数 作业中源连接为Oracle数据库连接,源端作业参数如表1所示。 表1 Oracle作为源端时的作业参数 参数名 说明 取值样例 使用SQL语句 导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 否 SQL语句 “使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。 说明: SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。 不支持with语句。 不支持注释 ,比如 "--" ,“/*”。 不支持增删改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 抽取分区字段 “按表分区抽取”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为(数据开发作业计划启动时间-偏移量),而不是(CDM作业实际启动时间-偏移量)。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 分区字段含有空值 “按表分区抽取”选择“否”时,显示该参数,表示是否允许分区字段包含空值。 是 按表分区抽取 从Oracle导出数据时,支持从分区表的各个分区并行抽取数据。启用该功能时,可以通过下面的“表分区”参数指定具体的Oracle表分区。 该功能不支持非分区表。 数据库用户需要具有系统视图dba_tab_partitions和dba_tab_subpartitions的SELECT权限。 否 表分区 输入需要迁移数据的Oracle表分区,多个分区以&分隔,不填则迁移所有分区。 如果有子分区,以“分区.子分区”的格式填写,例如“P2.SUBP1”。 P0&P1&P2.SUBP1&P2.SUBP3 拆分作业 选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。 说明: 仅支持目的端为DLI和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 是 作业拆分字段 “拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 - 拆分字段最小值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 - 拆分字段最大值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 - 子作业个数 “拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 - Oracle作为源端时,如果未配置“抽取分区字段”或者“按表分区抽取”这2个参数,CDM自动使用ROWID进行数据分区。 父主题: 配置作业源端参数
共100000条