
# 使用CDL同步drs-oracle-json数据到Hudi（ThirdKafka）
#### 操作场景
本章节指导用户通过开启Kerberos认证的集群的CDLService WebUI界面从ThirdKafka导入Oracle数据库数据到Hudi。
该章节内容适用于MRS 3.3.0及之后版本。
#### 前提条件
- 集群已安装CDL、Hudi服务且运行正常。
- ThirdKafka数据库的Topic需要能被MRS集群消费，操作步骤请参考[ThirdPartyKafka前置准备](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24124.html#mrs_01_24124__li134271012112412)。
- 在FusionInsight Manager中创建一个人机用户，例如"cdluser"，加入用户组**cdladmin、hadoop、kafka** 、**supergroup**，主组选择"cdladmin"组，关联角色"System_administrator"。
 
#### 操作步骤
1. 使用**cdluser**用户登录FusionInsight Manager（首次登录需要修改密码），选择"集群 \> 服务 \> CDL"，单击"CDLService UI"右侧的超链接，进入CDLService WebUI界面。
2. 选择"连接管理 \> 新增连接"，进入"新增连接"参数配置窗口，参考下表，分别新增"thirdparty-kafka"、"hudi"连接，相关数据连接参数介绍请参见[创建CDL数据库连接](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24238.html)。
   
   表1thirdparty-kafka数据连接配置参数 
   | 参数名称                    | 示例                    |
   |:---|:---|
   | Name                    | oraclelink            |
   | Link Type               | thirdparty-kafka      |
   | Bootstrap Servers       | 10.10.10.10:9093      |
   | Security Protocol       | SASL_SSL              |
   | Username                | testuser              |
   | Password                | *testuser用户密码*        |
   | SSL Truststore Location | 单击"上传文件"，上传认证文件       |
   | SSL Truststore Password | -                     |
   | Datastore Type          | drs-oracle-json       |
   | Description             | thirdparty-kafka Link |
      
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   thirdparty-kafka也可以使用MRS Kafka作为源端，如果使用用户名（Username）密码（Password）进行登录认证，则需先登录Manager界面，选择"集群 \> 服务 \> Kafka \> 配置"，在搜索框中搜索"sasl.enabled.mechanisms"，为该参数值增加"PLAIN"，单击"保存"保存配置，并重启Kafka服务使配置生效：
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001727153697.png "点击放大")
   再在CDL WebUI界面配置使用MRS Kafka作为源端的thirdparty-kafka连接，例如相关数据连接配置如下:
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001679154458.png "点击放大")
   表2Hudi数据连接配置参数 
   | 参数名称            | 示例                                                  |
   |:---|:---|
   | Link Type       | hudi                                                |
   | Name            | hudilink                                            |
   | Storage Type    | hdfs                                                |
   | Auth KeytabFile | /opt/Bigdata/third_lib/CDL/user_libs/cdluser.keytab |
   | Principal       | cdluser                                             |
   | Description     | -                                                   |
      
   
   
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_oracletohudi |
   | Desc | New CDL Job      |
      
   
   
6. 配置ThirdKafka作业参数。 
   1. 在作业参数配置页面，选取左侧"thirdparty-kafka"图标拖入右侧编辑区域，然后双击此图标进入ThirdpartyKafka作业参数配置窗口。参考下表进行参数配置，相关作业参数介绍请参见[创建CDL数据同步任务作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24239.html)。
      表4thirdparty-kafka作业参数 
      | 参数名称                | 示例              |
      |:---|:---|
      | Link                | oraclelink      |
      | DB Name             | oracledb        |
      | Schema              | oracleschema    |
      | Datastore Type      | drs-oracle-json |
      | Source Topics       | source_topic    |
      | Tasks Max           | 1               |
      | Tolerance           | none            |
      | Data Filter Time    | -               |
      | Topic Table Mapping | test/hudi_topic |
         
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001726993821.png "点击放大")
      
   
   2. 单击"确定"，ThirdpartyKafka作业参数配置完成。
   
   
   
   
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                            | 10            |
      | Max Rate Per Partition              | 0             |
      | Parallelism                         | 10            |
      | Target Hive Database                | default       |
      | Hudi表属性配置方式                         | 可视化视图         |
      | Hudi表属性全局配置                         | -             |
      | Hudi表属性配置-Table Name                | test          |
      | Hudi表属性配置-Table Type Opt Key        | COPY_ON_WRITE |
      | Hudi表属性配置-Hudi TableName Mapping    | -             |
      | Hudi表属性配置-Hive TableName Mapping    | -             |
      | Hudi表属性配置-Table Primarykey Mapping  | id            |
      | Hudi表属性配置-Table Hudi Partition Type | -             |
      | Hudi表属性配置-Custom Config             | -             |
         
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001679124360.png "点击放大")
      
   
   2. （可选）单击"+"按钮展开更多选项，选择已创建的ENV，默认为"defaultEnv"。 ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001727123461.png "点击放大")
      
   
   3. 单击"确定"，完成Hudi作业参数配置。
   
   
   
   
8. 作业参数配置完成后，拖拽图标将作业进行关联，然后单击"保存"，作业配置完成。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001678994694.png "点击放大")
   
   
9. 在"作业管理"的作业列表中，找到创建的作业名称，单击操作列的"启动"，等待作业启动。 
   观察数据传输是否生效，例如在Oracle数据库中对表进行插入数据操作，查看Hudi导入的文件内容。
   
   
 
