配置DWS目的端参数
参数名 |
说明 |
取值样例 |
---|---|---|
模式或表空间 |
待写入数据的数据库名称,支持自动创建Schema。单击输入框后面的按钮可选择模式或表空间。 |
schema |
自动创表 |
只有当源端为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作:
当选择在DWS端自动创表时,DWS的表与源表的字段类型映射关系见在DWS端自动建表时的字段类型映射。
说明:
自动建表只同步列注释,表注释不会被同步。 |
不自动创建 |
表名 |
写入数据的目标表名,单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。
说明:
如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 |
table |
是否压缩 |
导入数据到DWS且选择自动创表时,用户可以指定是否压缩存储。 |
否 |
存储模式 |
导入数据到DWS且选择自动创表时,用户可以指定存储模式:
|
行模式 |
导入模式 |
导入数据到DWS时,用户可以指定导入模式:
|
COPY |
导入开始前 |
导入数据前,选择是否清除目的表的数据:
|
清除部分数据 |
where条件 |
“导入开始前”参数选择为“清除部分数据”时配置,配置后导入前根据where条件删除目的表的数据。 |
age > 18 and age <= 60 |
先导入阶段表 |
如果选择“是”,则启用事务模式迁移,CDM会自动创建临时表,先将数据导入到该临时表,导入成功后再通过数据库的事务模式将数据迁移到目标表中,导入失败则将目的表回滚到作业开始之前的状态。 默认为“否”,CDM直接将数据导入到目的表。这种情况下如果作业执行失败,已经导入到目标表中的数据不会自动回滚。
说明:
如果“导入开始前”选择“清除部分数据”或“清除全部数据”,CDM的事务模式不会回滚已经删除的数据。 |
否 |
扩大字符字段长度 |
当选择自动创表时,迁移过程中可将字符类型的字段长度扩大为原来的3倍,再写入到目的表中。如果源端数据库与目的端数据库字符编码不一样,但目的表字符类型字段与源表一样,在迁移数据时,可能会有出现长度不足的错误。 应用场景主要是将有中文内容的字符字段导入到DWS时,需要自动将字符长度放大3倍。 在导入中文内容的字符到DWS时,如果作业执行失败,且日志中出现类似“value too long for type character varying”的错误,则可以通过启用该功能解决。
说明:
当启动该功能时,也会导致部分字段消耗用户相应的3倍存储空间。 |
否 |
使用非空约束 |
当选择自动创建目的表时,如果选择使用非空约束,则目的表字段的是否非空约束,与原表具有相应非空约束的字段保持一致。 |
是 |
导入前准备语句 |
执行任务之前率先执行的SQL语句。目前向导模式仅允许执行一条SQL语句。 |
create temp table |
导入后完成语句 |
执行任务之后执行的SQL语句,目前仅允许执行一条SQL语句。 |
merge into |
loader线程数 |
每个loader内部启动的线程数,可以提升写入并发数。 |
1 |
在DWS端自动建表时的字段类型映射
CDM在数据仓库服务(Data Warehouse Service,简称DWS)中自动建表时,DWS的表与源表的字段类型映射关系如图1所示。例如使用CDM将Oracle整库迁移到DWS,CDM在DWS上自动建表,会将Oracle的NUMBER(3,0)字段映射到DWS的SMALLINT。
自动建表场景不支持创建索引。