
# 配置DWS目的端参数
作业中目的连接为[DWS连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0044.html#dataartsstudio_01_0044)时，目的端作业参数如[表1]所示。
 表1目的端为DWS时的作业参数 
| 参数名       | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 取值样例                     |
|:---|:---|:---|
| 模式或表空间    | 待写入数据的数据库名称，支持自动创建Schema。单击输入框后面的按钮可选择模式或表空间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | schema                   |
| 自动创表      | 只有当源端为关系数据库时，才有该参数。表示写入表数据时，用户选择的操作： - 不自动创建：不自动建表。  - 不存在时创建：当目的端的数据库没有"表名"参数中指定的表时，CDM会自动创建该表。如果"表名"参数配置的表已存在，则不创建，数据写入到已存在的表中。  - 先删除后创建：CDM先删除"表名"参数中指定的表，然后再重新创建该表。   当选择在DWS端自动创表时，DWS的表与源表的字段类型映射关系见[在DWS端自动建表时的字段类型映射]。 说明： 自动建表只同步列注释，表注释不会被同步。 | 不自动创建                    |
| 表名        | 写入数据的目标表名，单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量，且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合，可以实现定期同步新增数据，详细说明请参见[使用时间宏变量完成增量同步](https://support.huaweicloud.com/bestpractice-dataartsstudio/dataartsstudio_05_0006.html)。 说明： 如果配置了时间宏变量，通过DataArts Studio数据开发调度CDM迁移作业时，系统会将时间宏变量替换为"数据开发作业计划启动时间-偏移量"，而不是"CDM作业实际启动时间-偏移量"。                                                                                                                                                                                                                                                                                                                                                                                                                                              | table                    |
| 是否压缩      | 导入数据到DWS且选择自动创表时，用户可以指定是否压缩存储。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 否                        |
| 存储模式      | 导入数据到DWS且选择自动创表时，用户可以指定存储模式： - 行模式：表的数据将以行式存储，适用于点查询（返回记录少，基于索引的简单查询），或者增删改比较多的场景。  - 列模式：表的数据将以列式存储，适用于统计分析类查询（group、join多的场景），或者即席查询（查询条件不确定，行模式表扫描难以使用索引）的场景。                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 行模式                      |
| 导入模式      | 导入数据到DWS时，用户可以指定导入模式： - COPY模式，源数据经过管理节点后，复制到DWS的DataNode节点。  - UPSERT模式，数据发生主键或唯一约束冲突时，更新除了主键和唯一约束列的其他列数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                | COPY                     |
| 导入开始前     | 导入数据前，选择是否清除目的表的数据： - 不清除：写入数据前不清除目标表中数据，数据追加写入。  - 清除全部数据：写入数据前会清除目标表中数据。  - 清除部分数据：需要配置"where条件"参数，CDM根据条件选择性删除目标表的数据。                                                                                                                                                                                                                                                                                                                                                              | 清除部分数据                   |
| where条件   | **"导入开始前"**参数选择为"清除部分数据"时配置，配置后导入前根据where条件删除目的表的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | age \> 18 and age \<= 60 |
| 先导入阶段表    | 如果选择"是"，则启用事务模式迁移，CDM会自动创建临时表，先将数据导入到该临时表，导入成功后再通过数据库的事务模式将数据迁移到目标表中，导入失败则将目的表回滚到作业开始之前的状态。 默认为"否"，CDM直接将数据导入到目的表。这种情况下如果作业执行失败，已经导入到目标表中的数据不会自动回滚。 说明： 如果"导入开始前"选择"清除部分数据"或"清除全部数据"，CDM的事务模式不会回滚已经删除的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 否                        |
| 扩大字符字段长度  | 当选择自动创表时，迁移过程中可将字符类型的字段长度扩大为原来的4倍，再写入到目的表中。如果源端数据库与目的端数据库字符编码不一样，但目的表字符类型字段与源表一样，在迁移数据时，可能会有出现长度不足的错误。 应用场景主要是将有中文内容的字符字段导入到DWS时，需要自动将字符长度放大4倍。 在导入中文内容的字符到DWS时，如果作业执行失败，且日志中出现类似"value too long for type character varying"的错误，则可以通过启用该功能解决。 说明： 当启动该功能时，也会导致部分字段消耗用户相应的4倍存储空间。                                                                                                                                                                                                                                                                                                                                                                                                                              | 否                        |
| 使用非空约束    | 当选择自动创建目的表时，如果选择使用非空约束，则目的表字段的是否非空约束，与原表具有相应非空约束的字段保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 是                        |
| 导入前准备语句   | 导入前执行语句支持在执行迁移任务之前，自动执行一条自定义SQL语句。 该功能常用于数据清理、环境准备或临时操作等前置操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | create table             |
| 导入后完成语句   | 导入后执行语句支持在执行迁移任务之前，自动执行一条自定义SQL语句。 该功能常用于数据清理、环境准备或临时操作等前置操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | drop table               |
| loader线程数 | 每个loader内部启动的线程数，可以提升写入并发数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 1                        |
   
 #### 在DWS端自动建表时的字段类型映射
CDM在数据仓库服务（Data Warehouse Service，简称DWS）中自动建表时，DWS的表与源表的字段类型映射关系如[图1]所示。例如使用CDM将Oracle整库迁移到DWS，CDM在DWS上自动建表，会将Oracle的**NUMBER(3,0)** 字段映射到DWS的**SMALLINT**。
图1自动建表的字段映射   
![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001528932982.png "点击放大")
![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
自动建表场景不支持创建索引。
