文档首页 > > 用户指南> 作业管理> 配置作业目的端参数> 配置关系数据库目的端参数

配置关系数据库目的端参数

分享
更新时间:2020/10/23 GMT+08:00

作业中源连接为配置关系数据库连接,即将数据导入到以下数据源时,目的端作业参数如表1所示。

  • 数据仓库(DWS)
  • 云数据库 MySQL
  • 云数据库 SQL Server
  • 云数据库 PostgreSQL
  • FusionInsight LibrA
  • MySQL
表1 目的端为关系型数据库时的作业参数

参数名

说明

取值样例

模式或表空间

待写入数据的数据库名称,支持自动创建Schema。单击输入框后面的按钮可选择模式或表空间。

schema

自动创表

只有当源端和目的端都为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作:
  • 不自动创建:不自动建表。
  • 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。
  • 先删除后创建:CDM先删除“表名”参数中指定的表,然后再重新创建该表。

当选择在DWS端自动创表时,DWS的表与源表的字段类型映射关系见在DWS端自动建表时的字段类型映射

不自动创建

表名

写入数据的目标表名,单击输入框后面的按钮可进入表的选择界面。

该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步

table

是否压缩

导入数据到DWS且选择自动创表时,用户可以指定是否压缩存储。

存储模式

导入数据到DWS且选择自动创表时,用户可以指定存储模式:
  • 行模式:表的数据将以行式存储,适用于点查询(返回记录少,基于索引的简单查询),或者增删改比较多的场景。
  • 列模式:表的数据将以列式存储,适用于统计分析类查询(group、join多的场景),或者即席查询(查询条件列不确定,行存无法确定索引)的场景。

行模式

导入开始前

导入数据前,选择是否清除目的表的数据:
  • 不清除:写入数据前不清除目标表中数据,数据追加写入。
  • 清除全部数据:写入数据前会清除目标表中数据。
  • 清除部分数据:需要配置“where条件”参数,CDM根据条件选择性删除目标表的数据。

清除部分数据

where条件

导入前根据where条件删除目的表的数据。

age > 18 and age <= 60

先导入阶段表

如果选择“是”,则启用事务模式迁移,CDM会自动创建临时表,先将数据导入到该临时表,导入成功后再通过数据库的事务模式将数据迁移到目标表中,导入失败则将目的表回滚到作业开始之前的状态,具体请参见事务模式迁移

默认为“否”,CDM直接将数据导入到目的表。这种情况下如果作业执行失败,已经导入到目标表中的数据不会自动回滚。

说明:

如果“导入前清空数据”选择“是”,CDM的事务模式不会回滚已经删除的数据。

扩大字符字段长度

选择自动创表时,迁移过程中可将字符类型的字段长度扩大为原来的3倍,再写入到目的表中。如果源端数据库与目的端数据库字符编码不一样,但目的表字符类型字段与源表一样,在迁移数据时,可能会有出现长度不足的错误。

应用场景主要是将有中文内容的字符字段导入到DWS时,需要自动将字符长度放大3倍。

在导入中文内容的字符到DWS时,如果作业执行失败,且日志中出现类似“value too long for type character varying”的错误,则可以通过启用该功能解决。

说明:

当启动该功能时,也会导致部分字段消耗用户相应的3倍存储空间。

使用非空约束

当选择自动创建目的表时,如果选择使用非空约束,则目的表字段的是否非空约束,与原表具有相应非空约束的字段保持一致。

在DWS端自动建表时的字段类型映射

CDM在数据仓库服务(Data Warehouse Service,简称DWS)中自动建表时,DWS的表与源表的字段类型映射关系如图1所示。例如使用CDM将Oracle整库迁移到DWS,CDM在DWS上自动建表,会将Oracle的NUMBER(3,0)字段映射到DWS的SMALLINT

图1 DWS端自动建表时的字段映射
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问