
# 写入操作配置
本章节介绍Hudi重要配置的详细信息，更多配置请参考hudi官网：<https://hudi.apache.org/docs/overview>。
 表1写入操作重要配置项 
| 参数                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 默认值                                                     |
|:---|:---|:---|
| hoodie.datasource.write.table.name              | 指定写入的hudi表名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 无                                                       |
| hoodie.datasource.write.operation               | 写hudi表指定的操作类型，当前支持upsert、delete、insert、bulk_insert等方式。 - upsert：更新插入混合操作  - delete：删除操作  - insert：插入操作  - bulk_insert： 用于初始建表导入数据， 注意初始建表禁止使用upsert、insert方式  - insert_overwrite：对静态分区执行insert overwrite  - insert_overwrite_table：动态分区执行insert overwrite，该操作并不会立刻删除全表做overwrite，会逻辑上重写hudi表的元数据，无用数据后续由hudi的clean机制清理。效率比bulk_insert + overwrite 高   | upsert                                                  |
| hoodie.datasource.write.table.type              | 指定hudi表类型，一旦这个表类型被指定，后续禁止修改该参数，可选值MERGE_ON_READ。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | COPY_ON_WRITE                                           |
| hoodie.datasource.write.precombine.field        | 该值用于在写之前对具有相同的key的行进行合并去重。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 指定为具体的表字段                                               |
| hoodie.datasource.write.payload.class           | 在更新过程中，该类用于提供方法将要更新的记录和更新的记录做合并，该实现可插拔，如要实现自己的合并逻辑，可自行编写。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | org.apache.hudi.common.model.DefaultHoodieRecordPayload |
| hoodie.datasource.write.recordkey.field         | 用于指定hudi的主键，hudi表要求有唯一主键。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 指定为具体的表字段                                               |
| hoodie.datasource.write.partitionpath.field     | 用于指定分区键，该值配合hoodie.datasource.write.keygenerator.class使用可以满足不同的分区场景。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 无                                                       |
| hoodie.datasource.write.hive_style_partitioning | 用于指定分区方式是否和hive保持一致，建议该值设置为true。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | true                                                    |
| hoodie.datasource.write.keygenerator.class      | 配合hoodie.datasource.write.partitionpath.field，hoodie.datasource.write.recordkey.field产生主键和分区方式。 说明： 写入设置KeyGenerator与表保存的参数值不一致时将提示需要保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | org.apache.hudi.keygen.ComplexKeyGenerator              |
   
