配置Oracle源端参数
作业中源连接为Oracle数据库连接,源端作业参数如表1所示。
参数名 |
说明 |
取值样例 |
---|---|---|
使用SQL语句 |
导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。 |
否 |
SQL语句 |
“使用SQL语句”选择“是”时,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。
说明:
|
select id,name from sqoop.user; |
模式或表空间 |
“使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。
说明:
该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如:
|
SCHEMA_E |
表名 |
“使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。
说明:
如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。
说明:
表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如:
|
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表分区。
|
否 |
表分区 |
输入需要迁移数据的Oracle表分区,多个分区以&分隔,不填则迁移所有分区。 如果有子分区,以“分区.子分区”的格式填写,例如“P2.SUBP1”。 |
P0&P1&P2.SUBP1&P2.SUBP3 |
拆分作业 |
选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。
说明:
仅支持目的端为DLI和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 |
是 |
作业拆分字段 |
“拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 |
- |
拆分字段最小值 |
“拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 |
- |
拆分字段最大值 |
“拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 |
- |
子作业个数 |
“拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 |
- |
Oracle作为源端时,如果未配置“抽取分区字段”或者“按表分区抽取”这2个参数,CDM自动使用ROWID进行数据分区。