
# 步骤2：数据集成
 #### OBS数据迁移到DWS
1. [登录CDM管理控制台。](https://console.huaweicloud.com/cdm/?#/cdm/clusterList)单击左侧导航上的"集群管理"，进入集群管理界面。
   
   或参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)，登录DataArts Studio管理控制台。在DataArts Studio控制台首页，选择对应工作空间的"数据集成"模块，进入CDM首页。
   图1集群列表   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002239778293.png "点击放大")
   ![](https://support.huaweicloud.com/qs-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
   "创建来源"列仅通过DataArts Studio服务进入数据集成界面可以看到。
   
   
2. 进入DataArts Studio数据集成主页面，单击操作列的"作业管理"。 
   图2作业管理   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001179990358.png "点击放大")
   
   
3. 在作业管理界面，选择"连接管理 - 新建连接"，进入创建连接页面。
4. 在创建连接页面，选择"对象存储服务（OBS）"，新建CDM到OBS的连接，数据连接名称为"obs_link"。 
   表1OBS连接的参数 
   | 参数名      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 取值样例                     |
   |:---|:---|:---|
   | 名称       | 连接的名称，根据连接的数据源类型，用户可自定义便于记忆、区分的连接名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | obs_link                 |
   | OBS终端节点  | 终端节点（Endpoint）即调用API的**请求地址**，不同服务不同区域的终端节点不同。您可以通过以下方式获取OBS桶的Endpoint信息： OBS桶的Endpoint，可以进入OBS控制台概览页，单击桶名称后查看桶的基本信息获取。 说明： - CDM集群和OBS桶不在同一个Region时，不支持跨Region访问OBS桶。  - 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户，密码不会立即生效且作业会运行失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | obs.myregion.mycloud.com |
   | 端口       | 数据传输协议端口，https是443，http是80。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 443                      |
   | OBS桶类型   | 用户下拉选择即可，一般选择为"对象存储"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 对象存储                     |
   | 访问标识(AK) | AK和SK分别为登录OBS服务器的访问标识与密钥。 您需要先创建当前账号的访问密钥，并获得对应的AK和SK。 您可以通过如下方式获取访问密钥。 1. 登录控制台，在用户名下拉列表中选择"我的凭证"。  2. 进入"我的凭证"页面，选择"访问密钥 \> 新增访问密钥"，如[图3]所示。 图3新增访问密钥 ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002613707359.png "点击放大")    3. 单击"确定"，根据浏览器提示，保存密钥文件。密钥文件会直接保存到浏览器默认的下载文件夹中。打开名称为"credentials.csv"的文件，即可查看访问密钥（Access Key Id和Secret Access Key）。 说明： - 每个用户仅允许新增两个访问密钥。  - 为保证访问密钥的安全，访问密钥仅在初次生成时自动下载，后续不可再次通过管理控制台界面获取。请在生成后妥善保管。      | -                        |
   | 密钥(SK)   | AK和SK分别为登录OBS服务器的访问标识与密钥。 您需要先创建当前账号的访问密钥，并获得对应的AK和SK。 您可以通过如下方式获取访问密钥。 1. 登录控制台，在用户名下拉列表中选择"我的凭证"。  2. 进入"我的凭证"页面，选择"访问密钥 \> 新增访问密钥"，如[图3]所示。 图3新增访问密钥 ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000002613707359.png "点击放大")    3. 单击"确定"，根据浏览器提示，保存密钥文件。密钥文件会直接保存到浏览器默认的下载文件夹中。打开名称为"credentials.csv"的文件，即可查看访问密钥（Access Key Id和Secret Access Key）。 说明： - 每个用户仅允许新增两个访问密钥。  - 为保证访问密钥的安全，访问密钥仅在初次生成时自动下载，后续不可再次通过管理控制台界面获取。请在生成后妥善保管。      | -                        |
   | 连接属性     | 可选参数，单击"显示高级属性"后显示。 自定义连接属性，单击"添加"可增加自定义连接属性。 目前仅支持配置file.gen.identifier.only.when.data.migrate属性，该属性用于与目的端的"作业成功标识文件"参数配合，以控制是否生成成功标识文件。 常见配置举例如下： - 属性名称：值为file.gen.identifier.only.when.data.migrate：true且目的端已配置"作业成功标识文件"时，系统将检查数据是否已生成。 - 如果数据存在，则生成标识文件。  - 如果数据不存在，则不会生成标识文件。    - 属性名称：值为file.gen.identifier.only.when.data.migrate：false且目的端已配置"作业成功标识文件"时，系统将不检查数据直接生成标识文件，即无论数据是否存在，都生成标识文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | -                        |
      
   图4创建OBS连接   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001538810605.png)
   
   
   
5. 在创建连接页面，选择"数据仓库服务（DWS）"，新建CDM到DWS的连接，数据连接名称为"dws_link"。 
   表2DWS连接参数 
   | 参数名     | 说明                                       | 取值样例     |
   |:---|:---|:---|
   | 名称      | 连接的名称，根据连接的数据源类型，用户可自定义便于记忆、区分的连接名。      | dws_link |
   | 数据库服务器  | 单击输入框后的"选择"，可获取用户的DWS实例列表。               | -        |
   | 端口      | 配置为要连接的数据库的端口。DWS数据库端口默认为8000。           | 8000     |
   | 数据库名称   | 配置为要连接的数据库名称。                            | demo     |
   | 用户名     | 待连接数据库的用户。该数据库用户需要有数据表的读写权限，以及对元数据的读取权限。 | dbadmin  |
   | 密码      | 用户密码。                                    | -        |
   | 使用Agent | 是否选择通过Agent从源端提取数据。                      | 否        |
      
   图5创建DWS连接   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207882392.png "点击放大")
   
   
6. CDM到OBS和DWS的连接创建成功后，单击"表/文件迁移"，再单击"新建作业"。
   
   图6新建作业   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207854352.png "点击放大")
   
   
7. 按照如下步骤完成作业参数的配置。 
   1. 如[图7]所示，配置作业名为movies_obs2dws，配置源端作业参数，然后配置目的端作业参数。
      ![](https://support.huaweicloud.com/qs-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
      在本示例中，目的端作业参数"导入开始前"配置为"清除全部数据"，表示每次作业运行都会先清空数据再导入。在实际业务中，请视情况而定，需谨慎设置，以免造成数据丢失。
      图7作业配置   
      ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252455641.png "点击放大") 
   
   2. 在源端、目的作业配置区域，单击"显示高级属性"，在"高级属性"中，系统提供了默认值，请根据实际业务数据的格式设置各项参数。
      例如，本例中根据[数据源准备](https://support.huaweicloud.com/qs-dataartsstudio/dataartsstudio_04_0032.html#dataartsstudio_04_0032__section28742371270)中的样例数据格式，源端高级属性需注意以下参数的设置，其他参数均保留默认值即可，如[图8]所示。目的端高级属性无需配置。
      - **字段分隔符**：默认值为逗号，本示例需要保留默认值。
      
      - **使用包围符**：由于IMDbURL有的原始数据中包含","，需要修改默认值为"是"。
      
      - **前N行为标题行** ：默认值为"否"，本示例首行是标题行，修改默认值为"是"，**标题行数**配置为1。
      
      
      图8源端高级属性   
      ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001449261617.png "点击放大")
      
      
   
   3. 单击"下一步"后，请参考以下说明配置字段映射，如[图9]所示，配置完成后，单击"下一步"。
      **字段映射**：在本示例中，由于数据迁移的目标表字段顺序和原始数据的字段顺序是一样的，因此这里不需要调整字段映射的顺序。
      如果目标表字段顺序和原始数据不一致，请一一将源字段指向含义相同的目的字段。请将鼠标移至某一个字段的箭头起点，当光标显示为"+"的形状时，按住鼠标，将箭头指向相同含义的目的字段，然后松开鼠标。
      图9字段映射   
      ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207696394.png "点击放大") 
   
   4. 根据需要配置任务的重试和定时执行、高级属性等。在本示例中仅需将"是否写入脏数据"设置为"是"，其他配置项保持默认即可。
      图10任务配置   
      ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252458079.png "点击放大")
      单击"显示高级属性"，可配置"抽取并发数"以及"是否写入脏数据"，如[图10]所示。
      - **抽取并发数** ：设置同时执行的抽取任务数。并发抽取数取值范围为1-1000，若配置过大，则以队列的形式进行排队。
        CDM迁移作业的抽取并发量，与集群规格和表大小有关。
        - 按集群规格建议每1CUs（1CUs=1核4G）配置为4。
        
        - 表每行数据大小为1MB以下的可以多并发抽取，超过1MB的建议单线程抽取数据。
          
      
      - **是否写入脏数据** ：建议配置为"是"，然后参考[图10]配置相关参数。脏数据是指与目的端字段不匹配的数据，该数据可以被记录到指定的OBS桶中。用户配置脏数据归档后，正常数据可以写入目的端，迁移作业不会因脏数据中断。
        在本示例中，"OBS桶"配置为在[数据源准备](https://support.huaweicloud.com/qs-dataartsstudio/dataartsstudio_04_0032.html#dataartsstudio_04_0032__section28742371270)中创建的桶"fast-demo"，您需要前往OBS控制台，在桶中创建一个目录，例如err_data，然后再将"脏数据目录"配置为该目录。
        
       
   
   
   
   
8. 单击"保存并运行"完成作业的创建。
   
   返回"表/文件迁移"页面后，可在作业列表中查看到新建的作业。
   图11迁移作业运行结果   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001207698204.png "点击放大")
   
   
9. 参考[步骤6]\~[步骤8]，再新建名为ratings_obs2dws的迁移作业，将ratings.csv数据迁移到DWS的ratings_item表中。待作业运行成功后，数据迁移结束。
   
   图12数据迁移结果   
   ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252698435.png "点击放大")
   
   
10. 数据迁移结束后，您也可以跳转到数据开发页面，新建一个DWS SQL脚本，并分别执行以下SQL语句检查DWS中的movies_item和ratings_item表数据是否符合预期。 
    - 查看movies_item表数据：
      ```
      SET SEARCH_PATH TO dgc;
      SELECT * FROM movies_item;
      ```
      
    
    - 查看ratings_item表数据：
      ```
      SET SEARCH_PATH TO dgc;
      SELECT * FROM ratings_item;
      ```
      
    
    
    图13查看DWS表数据   
    ![](https://support.huaweicloud.com/qs-dataartsstudio/zh-cn_image_0000001252699421.png "点击放大")
    
    
 
