
# 配置Spark客户端对接Hudi
#### 操作场景
本章节主要介绍通过spark-sql使用Hudi功能。
#### 前提条件
- 在Manager界面创建用户并添加hadoop和hive用户组，主组加入hadoop。
 
#### 配置JDK
默认使用JDK8，需要切换JDK，请参考[配置Spark作业运行时使用的JDK版本](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_300507.html)。
#### 操作步骤
1. 下载并安装Hudi客户端，具体请参考[安装MRS客户端](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2127.html)章节。
   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   目前Hudi集成在Spark中，用户从Manager页面下载Spark客户端即可，例如客户端安装目录为："/opt/client"。
   
   
2. 使用root登录客户端安装节点，执行如下命令： 
   **cd /opt/client**
   
   
3. 执行命令加载环境变量： 
   **source bigdata_env**
   **source Hudi/component_env**
   **kinit** *创建的用户*
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 新创建的用户需要修改密码，更改密码后重新kinit登录。
   
   - 普通模式（未开启kerberos认证）无需执行**kinit**命令。
   
   - 多服务场景下，在source bigdata_env之后，请先source Spark服务的component_env，再去source Hudi的component_env。
    
   
   
4. 启动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;**
     
   
   
   
   
 
