
# SET/RESET
#### 命令功能
此命令用于在运行时动态添加（Add）、更新（Update）、显示（Display）或重置（Reset）Hudi的会话参数，而无需重新启动Spark Driver。
#### 命令格式
- Add或Update参数值： SET *parameter_name* =*parameter_value*
  此命令用于添加或更新"parameter_name"的值。
  
- Display参数值： SET *parameter_name*
  此命令用于显示指定的"parameter_name"的值。
  
- Display会话参数： SET
  此命令显示所有支持的会话参数。
  
- Display会话参数以及使用细节： SET -v
  此命令显示所有支持的会话参数及其使用细节。
  
- Reset参数值： RESET
  此命令清除所有会话参数。
  
 
#### 参数描述
表1SET参数描述 
| 参数              | 描述                                          |
|:---|:---|
| parameter_name  | 其值需要被动态添加（add），更新（update）或显示（display）的参数名称。 |
| parameter_value | 将要设置的"parameter_name"的新值。                   |
   
#### 注意事项
以下为分别使用SET和RESET命令进行动态设置或清除操作的属性：
表2属性描述 
| 属性                                     | 描述                                                                                                      |
|:---|:---|
| hoodie.insert.shuffle.parallelism      | insert方式写入数据时的spark shuffle并行度。                                                                         |
| hoodie.upsert.shuffle.parallelism      | upsert方式写入数据时的spark shuffle并行度。                                                                         |
| hoodie.delete.shuffle.parallelism      | delete方式删除数据时的spark shuffle并行度。                                                                         |
| hoodie.sql.insert.mode                 | 指定Insert模式，取值为strict、non-strict及upsert。                                                                 |
| hoodie.sql.bulk.insert.enable          | 指定是否开启bulk insert写入。                                                                                    |
| spark.sql.hive.convertMetastoreParquet | sparksql把parquet表转化为datasource表进行读取。当Hudi的provider为hive的情况下，使用sparksql或sparkbeeline进行读取，需要将该参数设置为false。 |
   
#### 示例
- 添加（Add）或更新（Update）：
  ```
  set hoodie.insert.shuffle.parallelism = 100;
  set hoodie.upsert.shuffle.parallelism = 100;
  set hoodie.delete.shuffle.parallelism = 100;
  ```
  

- 重置（Reset）：
  ```
  RESET
  ```
  
 
#### 系统响应
- 如果运行成功，将记录在driver日志中。
- 如果出现故障，将显示在用户界面（UI）中。
 
