配置MySQL源端参数
作业中源连接为配置MySQL数据库连接,源端作业参数如表1所示。
参数类型 |
参数名 |
说明 |
取值样例 |
---|---|---|---|
基本参数 |
使用SQL语句 |
导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 |
否 |
SQL语句 |
“使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。
说明:
|
select id,name from sqoop.user; |
|
模式或表空间 |
“使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的帐号是否有元数据查询的权限。
说明:
该参数支持配置正则表达式,实现导出满足规则的所有数据库。 |
SCHEMA_E |
|
表名 |
“使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的帐号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据。
说明:
该参数支持配置正则表达式,实现导出满足规则的所有数据库。 |
table |
|
高级属性 |
抽取分区字段 |
“使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。
说明:
|
id |
Where子句 |
“使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据。 |
DS='${dateformat(yyyy-MM-dd,-1,DAY)}' |
|
分区字段是否允许空值 |
是否允许分区字段包含空值。 |
是 |
|
作业拆分字段 |
使用该字段将作业拆分为多个子作业并发执行。 |
- |
|
拆分字段最小值 |
表示抽取数据时“作业拆分字段”的最小值。 |
- |
|
拆分字段最大值 |
表示抽取数据时“作业拆分字段”的最大值。 |
- |
|
子作业个数 |
根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 |
- |
|
按表分区抽取 |
从MySQL导出数据时,支持从分区表的各个分区并行抽取数据。启用该功能时,可以通过下面的“表分区”参数指定具体的MySQL表分区。
|
否 |
- MySQL到DWS的场景下,MySQL Binlog方式增量迁移数据功能的使用限制如下:
- 单个集群在当前版本中只支持一个MySQL Binlog方式的增量迁移任务。
- 当前版本不支持一次性删除、更新万条记录。
- 不支持整库迁移。
- 不支持DDL操作。
- 不支持事件(event)迁移。
- 当选择增量迁移时,源MySQL数据库的“binlog_format”需要设置为“ROW”。
- 当选择增量迁移时,增量迁移过程中如果源MySQL实例,出现因实例跨机迁移或跨机重建等导致的binlog文件ID乱序,可能导致增量迁移数据丢失。
- 当目的表存在主键时,如果重启CDM集群或全量迁移过程中产生增量数据,主键可能会出现重复数据,导致迁移失败。
- 如果目标数据库DWS存在重启行为,会导致迁移失败,需要重启CDM集群重新拉起迁移作业。
- MySQL推荐配置如下:
#打开bin-log功能 log-bin=mysql-bin #行模式 binlog-format=ROW #gtid模式,建议版本为5.6.10以上版本可用 gtid-mode=ON enforce_gtid_consistency = ON