• 沒有找到結果。

5.3 配置作业源端参数

5.3.8 配置关系数据库源端参数

作业中源连接为配置关系数据库连接,即从以下数据库导出数据时,源端作业参数如 表5-14所示。

● 数据仓库 DWS

● 云数据库 MySQL

● 云数据库 SQL Server

● 云数据库 PostgreSQL

● 达梦数据库 DM

● FusionInsight LibrA

● MySQL

● PostgreSQL

● Oracle

● IBM Db2

● Microsoft SQL Server

● SAP HANA

● MYCAT

● 分库

5-14 关系数据库作为源端时的作业参数 参数类

参数名 说明 取值样例

基本参 数

使用SQL 语句

导出关系型数据库的数据时,您可以选择使用

自定义SQL语句导出。 否

SQL语句 “使用SQL语句”选择“是”时,您可以在这 里输入自定义的SQL语句,CDM将根据该语句 导出数据。

select id,name fromsqoop.user;

模式或表

空间 “使用SQL语句”选择“否”时,显示该参 数,表示待抽取数据的模式或表空间名称。单 击输入框后面的按钮可进入模式选择界面,用 户也可以直接输入模式或表空间名称。

如果选择界面没有待选择的模式或表空间,请 确认对应连接里的帐号是否有元数据查询的权 限。

说明该参数支持配置通配符(*),实现导出以某一前缀 开头或者以某一后缀结尾的所有数据库。例如:

● SCHEMA*表示导出所有以“SCHEMA”开头的 数据库。

● *SCHEMA表示导出所有以“SCHEMA”结尾的 数据库。

● *SCHEMA*表示数据库名称中只要有

“SCHEMA”字符串,就全部导出。

SCHEMA_E

参数类

● table*表示导出所有以“table”开头的表。

● *table表示导出所有以“table”结尾的表。

● *table*表示表名中只要有“table”字符串,就 全部导出。

table

高级属 性

抽取分区 字段

“使用SQL语句”选择“否”时,显示该参 数,表示抽取数据时使用该字段进行数据切 分,CDM依据此字段将作业分割为多个任务 并发执行。一般使用数据均匀分布的字段,例 如以自然增长的序号字段作为分区字段。

单击输入框后面的按钮可进入字段选择界面,

用户也可以直接输入抽取分区字段名。

id

Where子

句 “使用SQL语句”选择“否”时,显示该参 数,表示配置抽取范围的Where子句,不配置 时抽取整表。

该参数支持配置为时间宏变量,实现抽取指定 日期的数据,详细说明请参见关系数据库增量 迁移。

DS='$

{dateforma t(yyyy-MM-dd,-1,DAY)}'

分区字段

从Oracle导出数据时,支持从分区表的各个分 区并行抽取数据。启用该功能时,可以通过下 面的“表分区”参数指定具体的Oracle表分 区。

● 该功能不支持非分区表。

● 数据库用户需要具有系统视图 dba_tab_partitions和

dba_tab_subpartitions的SELECT权限。

参数类 型

参数名 说明 取值样例

表分区 输入需要迁移数据的Oracle表分区,多个分区 以&分隔,不填则迁移所有分区。

如果有子分区,以“分区.子分区”的格式填 写,例如“P2.SUBP1”。

P0&P1&P2.

SUBP1&P2.

SUBP3

作业拆分

● Oracle作为源端时,如果未配置“抽取分区字段”或者“按表分区抽取”这2个参数,CDM 自动使用ROWID进行数据分区。

● MySQL到DWS的场景下,MySQL Binlog方式增量迁移数据功能的使用限制如下:

1. 单个集群在当前版本中只支持一个MySQL Binlog方式的增量迁移任务。

2. 当前版本不支持一次性删除、更新万条记录。

3. 不支持整库迁移。

4. 不支持DDL操作。

5. 不支持事件(event)迁移。

6. 当选择增量迁移时,源MySQL数据库的“binlog_format”需要设置为“ROW”。

7. 当选择增量迁移时,增量迁移过程中如果源MySQL实例,出现因实例跨机迁移或跨机重 建等导致的binlog文件ID乱序,可能导致增量迁移数据丢失。

8. 当目的表存在主键时,如果重启CDM集群或全量迁移过程中产生增量数据,主键可能会 出现重复数据,导致迁移失败。

9. 如果目标数据库DWS存在重启行为,会导致迁移失败,需要重启CDM集群重新拉起迁移 作业。

● MySQL推荐配置如下:

#打开bin-log功能 log-bin=mysql-bin

#行模式binlog-format=ROW

#gtid模式,建议版本为5.6.10以上版本可用 gtid-mode=ON

enforce_gtid_consistency = ON

5-15 分库作为源端时的作业参数

● SCHEMA*表示导出所有以“SCHEMA”开头的 数据库。

● *SCHEMA表示导出所有以“SCHEMA”结尾的 数据库。

● *SCHEMA*表示数据库名称中只要有

“SCHEMA”字符串,就全部导出。

SCHEMA_E

表名 表示要抽取的表名。单击输入框后面的按钮可

● table*表示导出所有以“table”开头的表。

● *table表示导出所有以“table”结尾的表。

● *table*表示表名中只要有“table”字符串,就 全部导出。

table

高级属

{dateforma t(yyyy-MM-dd,-1,DAY)}'

说明

● 选择源连接名称为分库连接对应的后端连接时,此作业即为普通的MySQL作业。

● 新建源端为分库连接的作业时,在字段映射阶段,可以在源字段新增样值为“$

{custom(host)}”样式的自定义字段,用于在多个数据库中的多张表迁移到同一张表后,查 看表的数据来源。支持的样值包括:

${custom(host)}

${custom(database)}

${custom(fromLinkName)}

${custom(schemaName)}

${custom(tableName)}