更新时间:2025-12-12 GMT+08:00
使用Spark SQL操作Hudi表
操作场景
在MRS集群中,Hudi集成在Spark中,可以通过Spark SQL来创建Hudi表,并对Hudi表进行增/删/改/查操作。
前提条件
如果集群已开启Kerberos认证,需在Manager界面创建1个人机用户并关联到hadoop和hive用户组,主组为hadoop,具体操作请参考创建MRS集群用户。
约束与限制
本章节仅适用于MRS 3.5.0-LTS及之后版本。
操作步骤
- 下载并安装Hudi客户端,具体请参考安装MRS客户端章节。
目前Hudi集成在Spark中,用户从Manager页面下载Spark客户端即可,例如客户端安装目录为:“/opt/client”。
- 使用root登录客户端安装节点,执行如下命令:
进入客户端目录:
cd /opt/hadoopclient执行以下命令加载环境变量:
source bigdata_env
source Hudi/component_env
安全认证:
kinit 创建的业务用户
- 新创建的用户需要修改密码,更改密码后重新kinit登录。
- 普通模式(未开启kerberos认证)无需执行kinit命令。
- 多服务场景下,在source bigdata_env之后,请先source Spark服务的component_env,再去source Hudi的component_env。
- 启动spark-sql。
- 创建Hudi表:
create table if not exists hudi_table2 (id int,name string,price double) using hudi options (type = 'cow',primaryKey = 'id',preCombineField = 'price');
- 插入数据:
insert into hudi_table2 select 1,1,1; insert into hudi_table2 select 2,1,1;
- 更新数据:
update hudi_table2 set name=3 where id=1;
- 删除数据:
delete from hudi_table2 where id=2;
- 查询数据:
select * from hudi_table2;
- 创建Hudi表:
父主题: 使用Hudi