5.4 配置作业目的端参数
5.4.5 配置关系数据库目的端参数
作业中源连接为配置关系数据库连接,即将数据导入到以下数据源时,目的端作业参 数如表5-26所示。
● 数据仓库 DWS
● 云数据库 MySQL
● 云数据库 SQL Server
● 云数据库 PostgreSQL
表5-26 目的端为关系型数据库时的作业参数
Schema。单击输入框后面的按钮可选择模式或表 空间。
schema
参数 名”参数中指定的表时,CDM会自动创建该 表。如果“表名”参数配置的表已存在,则不 创建,数据写入到已存在的表中。
● 先删除后创建:CDM先删除“表名”参数中指 定的表,然后再重新创建该表。
当选择在DWS端自动创表时,DWS的表与源表的 字段类型映射关系见在DWS端自动建表时的字段 类型映射。
table
是否压 分析类查询(group、join多的场景),或者即 席查询(查询条件不确定,行模式表扫描难以 使用索引)的场景。
行模式
导入模 式
导入数据到DWS时,用户可以指定导入模式:
● COPY模式,源数据经过管理节点后,复制到 DWS的DataNode节点。
● UPSERT模式,数据发生主键或唯一约束冲突 时,更新除了主键和唯一约束列的其他列数 据。
COPY
导入开 数,CDM根据条件选择性删除目标表的数据。
清除部分数 据
参数 类型
参数名 说明 取值样例
where 条件
“导入开始前”参数选择为“清除部分数据”时 配置,配置后导入前根据where条件删除目的表的 数据。
● insert into:当存在主键、唯一性索引冲突 时,数据无法写入并将以脏数据的形式存在。
● replace into:当存在主键、唯一性索引冲突 时,会先删除原有行、再插入新行,替换原有 行的所有字段。
● on duplicate key update,当存在主键、唯一 性索引冲突时,目的表中约束冲突的行除开唯 一约束列的其他数据列将被更新。
insert into
高级 参数
先导入 阶段表
如果选择“是”,则启用事务模式迁移,CDM会 自动创建临时表,先将数据导入到该临时表,导 入成功后再通过数据库的事务模式将数据迁移到 目标表中,导入失败则将目的表回滚到作业开始 之前的状态,具体请参见事务模式迁移。
默认为“否”,CDM直接将数据导入到目的表。
这种情况下如果作业执行失败,已经导入到目标 DWS时,需要自动将字符长度放大3倍。
在导入中文内容的字符到DWS时,如果作业执行 失败,且日志中出现类似“value too long for type character varying”的错误,则可以通过启 用该功能解决。
执行任务之前率先执行的SQL语句。目前向导模
式仅允许执行一条SQL语句。 create temp table
参数 类型
参数名 说明 取值样例
导入后 完成语 句
执行任务之后执行的SQL语句,目前仅允许执行
一条SQL语句。 merge into
在 DWS 端自动建表时的字段类型映射
CDM在数据仓库服务(Data Warehouse Service,简称DWS)中自动建表时,DWS的 表与源表的字段类型映射关系如图5-10所示。例如使用CDM将Oracle整库迁移到 DWS,CDM在DWS上自动建表,会将Oracle的NUMBER(3,0)字段映射到DWS的 SMALLINT。
图5-10 自动建表的字段映射