
# 使用CDL从Opengauss同步数据到Hudi
#### 操作场景
本章节指导用户通过开启Kerberos认证的集群的CDLService WebUI界面从Opengauss导入数据到Hudi。
该章节内容适用于MRS 3.3.0及之后版本支持。
#### 前提条件
- 集群已安装CDL、Hudi服务且运行正常。
- Opengauss数据库需要开启预写日志功能，操作步骤请参考[Opengauss数据库开启预写日志功能](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24124.html#mrs_01_24124__li1580692115490)。
- 在FusionInsight Manager中创建一个人机用户，例如"cdluser"，加入用户组**cdladmin、hadoop、kafka** 、**supergroup**，主组选择"cdladmin"组，关联角色"System_administrator"。
 
#### 操作步骤
1. 使用**cdluser**用户登录FusionInsight Manager（首次登录需要修改密码），选择"集群 \> 服务 \> CDL"，单击"CDLService UI"右侧的超链接，进入CDLService WebUI界面。
2. 选择"连接管理 \> 新增连接"，进入"新增连接"参数配置窗口，参考下表，分别新增"opengauss"、"hudi"连接，相关数据连接参数介绍请参见[创建CDL数据库连接](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24238.html)。
   
   表1opengauss数据连接配置参数 
   | 参数名称        | 示例                  |
   |:---|:---|
   | Link Type   | opengauss           |
   | Name        | opengausslink       |
   | Host        | 100.85.xxx.xxx      |
   | Port        | 8000                |
   | DB Name     | opengaussdb         |
   | User        | opengaussuser       |
   | Password    | *opengaussuser用户密码* |
   | Description | -                   |
      
   表2Hudi数据连接配置参数 
   | 参数名称            | 示例                                                  |
   |:---|:---|
   | Link Type       | hudi                                                |
   | Name            | hudilink                                            |
   | Storage Type    | hdfs                                                |
   | Auth KeytabFile | /opt/Bigdata/third_lib/CDL/user_libs/cdluser.keytab |
   | Principal       | cdluser                                             |
   | Description     | xxx                                                 |
      
   
   
3. 参数配置完成后，单击"测试连接"，检查数据连通是否正常。 
   连接校验通过后，单击"确定"完成数据连接创建。
   
   
4. （可选）选择"ENV管理 \> 新建ENV"，进入"新建ENV"参数配置窗口，参考下表进行参数配置。 
   表3新建ENV配置参数 
   | 参数名称             | 示例       |
   |:---|:---|
   | Name             | test-env |
   | Driver Memory    | 1GB      |
   | Type             | spark    |
   | Executor Memory  | 1GB      |
   | Executor Cores   | 1        |
   | Number Executors | 1        |
   | Queue            | -        |
   | Description      | -        |
      
   参数配置完成后，单击"确定"创建ENV。
   
   
5. 选择"作业管理 \> 数据同步任务 \> 新建作业"，在"新建作业"窗口中填写配置。单击"下一步"，进入作业参数配置页面。 
   其中：
   
   | 参数名称 | 示例                 |
   |:---|:---|
   | Name | job_opengaustohudi |
   | Desc | -                  |
      
   
   
6. 配置Opengauss作业参数。 
   1. 在作业参数配置页面，选取左侧"opengauss"图标拖入右侧编辑区域，然后双击此图标进入opengauss作业参数配置窗口。参考下表进行参数配置，相关作业参数介绍请参见[创建CDL数据同步任务作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24239.html)。
      表4Opengauss作业参数 
      | 参数名称                | 示例                                  |
      |:---|:---|
      | Link                | opengausslink                       |
      | Tasks Max           | 1                                   |
      | Mode                | insert、update、delete                |
      | dbName Alias        | opengaussdb                         |
      | Slot Name           | oct_twenty_two                      |
      | Slot Drop           | 否                                   |
      | Connect With Hudi   | 是                                   |
      | Topic Table Mapping | cdlschema.testtable/testtable_topic |
         
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001727153681.png "点击放大")
      
   
   2. 单击"确定"，Opengauss作业参数配置完成。
   
   
   
   
7. 配置Hudi作业参数。 
   1. 在作业参数配置页面，选取左侧Sink区域的"hudi"图标拖入右侧编辑区域，然后双击此图标进入Hudi作业参数配置窗口。参考下表进行参数配置，相关作业参数介绍请参见[创建CDL数据同步任务作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24239.html)。
      表5Sink Hudi作业参数 
      | 参数名称                                | 示例                                 |
      |:---|:---|
      | Link                                | hudilink                           |
      | Path                                | /cdl/test                          |
      | Interval                            | 5                                  |
      | Max Rate Per Partition              | 0                                  |
      | Parallelism                         | 10                                 |
      | Hudi表属性配置方式                         | 可视化视图                              |
      | Hudi表属性全局配置                         | -                                  |
      | Hudi表属性配置-Source Table Name         | cdlschema.testtable                |
      | Hudi表属性配置-Table Type Opt Key        | MERGE_ON_READ                      |
      | Hudi表属性配置-Hudi TableName Mapping    | "testtable"或"/cdlschema/testtable" |
      | Hudi表属性配置-Hive TableName Mapping    | cdlschema.testtable                |
      | Hudi表属性配置-Table Primarykey Mapping  | so_line_id,order_number            |
      | Hudi表属性配置-Table Hudi Partition Type | time                               |
      | Hudi表属性配置-Custom Config             | -                                  |
         
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001679154446.png "点击放大")
      
   
   2. （可选）选择已创建的ENV，默认为"defaultEnv"。 ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001726993805.png "点击放大")
      
   
   3. 单击"确定"，完成Hudi作业参数配置。
   
   
   
   
8. 作业参数配置完成后，拖拽图标将作业进行关联，然后单击"保存"，作业配置完成。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001867937186.png)
   
   
9. 在"作业管理"的作业列表中，找到创建的作业名称，单击操作列的"启动"，等待作业启动。 
   观察数据传输是否生效，例如在opengauss数据库中对表进行插入数据操作，查看Hudi导入的文件内容。
   
   
 
