从Oracle同步数据到Hudi
操作场景
本章节指导用户通过开启Kerberos认证的集群的CDLService WebUI界面从Oracle导入数据到Hudi。
前提条件
- 集群已安装CDL、Hudi服务且运行正常。
- Oracle数据库需要开启预写日志功能,操作步骤请参考Oracle数据库开启预写日志功能。
- 在FusionInsight Manager中创建一个人机用户,例如“cdluser”,加入用户组cdladmin、hadoop、kafka、supergroup,主组选择“cdladmin”组,关联角色“System_administrator”。
操作步骤
- 使用cdluser用户登录FusionInsight Manager(首次登录需要修改密码),选择“集群 > 服务 > CDL”,在CDL“概览”界面单击“CDLService UI”右侧的超链接,进入CDL原生界面。
- 选择“驱动管理 > 上传驱动”,上传Oracle数据库驱动文件,具体步骤请参考上传驱动文件章节。
- 选择“连接管理 > 新增连接”,进入“新增连接”参数配置窗口,参考下表,分别新增“oracle”、“hudi”连接,相关数据连接参数介绍请参见创建数据库连接。
表1 Oracle数据连接配置参数 参数名称
示例
Link Type
oracle
Name
oraclelink
DB driver
ojdbc8-12.2.0.1.jar
Host
10.10.10.10
Port
1521
User
user
Password
user用户密码
Sid
orcl
Description
该连接的描述信息
表2 Hudi数据连接配置参数 参数名称
示例
Link Type
hudi
Name
hudilink
Storage Type
hdfs
Auth KeytabFile
${BIGDATA_HOME}/FusionInsight_CDL_X.X.X/install/FusionInsight-CDL-X.X.X/cdl/keytabs/cdl.keytab
Principal
cdl/test.com@HADOOP.COM
Description
xxx
- 参数配置完成后,单击“测试连接”,检查数据连通是否正常。
连接校验通过后,单击“确定”完成数据连接创建。
- (可选)选择“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。
- 选择“作业管理 > 数据同步任务 > 新建作业”,在“新建作业”窗口中填写配置。单击“下一步”,进入作业参数配置页面。
其中:
参数名称
示例
Name
job_oracletokafka
Desc
xxx
- 配置Oracle作业参数。
- 在作业参数配置页面,选取左侧“oracle”图标拖入右侧编辑区域,然后双击此图标进入Oracle作业参数配置窗口。参考下表进行参数配置,相关作业参数介绍请参见创建CDL数据同步任务作业。
表4 Oracle作业参数 参数名称
示例
Link
oraclelink
Tasks Max
1
Mode
insert、update、delete
Schema
ORACLEDBA
dbName Alias
orcl
Connect With Hudi
是
- 单击“+”按钮展开更多选项。
- “WhiteList”:输入数据库中的表(如myclass)
- “Topic Table Mapping”:
- 若“Connect With Hudi”选择“是”,则该参数为必填项。
- 第一个框输入表名(例如“test”)。 第二个框输入Topic名(例如“test_topic”,该值与第一个框的表名只能是一对一的关系)。第三个框输入数据过滤时间,用于过滤源端数据。
- 单击“确定”,Oracle作业参数配置完成。
- 在作业参数配置页面,选取左侧“oracle”图标拖入右侧编辑区域,然后双击此图标进入Oracle作业参数配置窗口。参考下表进行参数配置,相关作业参数介绍请参见创建CDL数据同步任务作业。
- 配置Hudi作业参数。
- 在作业参数配置页面,选取左侧Sink区域的“hudi”图标拖入右侧编辑区域,然后双击此图标进入Hudi作业参数配置窗口。参考下表进行参数配置,相关作业参数介绍请参见创建CDL数据同步任务作业。
表5 Sink 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
-
Execution Env
Execution Env
- 单击“确定”,完成Hudi作业参数配置。
- 在作业参数配置页面,选取左侧Sink区域的“hudi”图标拖入右侧编辑区域,然后双击此图标进入Hudi作业参数配置窗口。参考下表进行参数配置,相关作业参数介绍请参见创建CDL数据同步任务作业。
- 作业参数配置完成后,拖拽图标将作业进行关联,然后单击“保存”,作业配置完成。
- 在“作业管理”的作业列表中,找到创建的作业名称,单击操作列的“启动”,等待作业启动。
观察数据传输是否生效,例如在Oracle数据库中对表进行插入数据操作,查看Hudi导入的文件内容。
当前Oracle链路单事务最大支持10000条数据更新。