hudi表如何新增分区
时间: 2023-10-19 11:12:48 浏览: 215
使用spark操作hudi表
5星 · 资源好评率100%
在 Hudi 中,要新增一个分区,需要执行以下步骤:
1. 使用 Hudi CLI 或 API 创建一个基础表,例如:
```
$ java -jar hudi-cli.jar --table-type COPY_ON_WRITE \
--table-name huditable \
--props /path/to/hudi.properties \
--base-path /path/to/huditable \
--partition-value new_partition
```
在这个例子中,我们创建了一个名为 `huditable` 的基础表,使用 `COPY_ON_WRITE` 表类型,并指定了一个名为 `new_partition` 的新分区。
2. 将数据写入新分区。您可以使用 Hudi CLI 或 API 将数据写入新增的分区。例如,使用 Hudi CLI 写入数据:
```
$ java -jar hudi-cli.jar --table-type COPY_ON_WRITE \
--table-name huditable \
--props /path/to/hudi.properties \
--base-path /path/to/huditable \
--partition-value new_partition \
--op UPSERT \
--payload-class org.apache.hudi.common.model.DefaultHoodieRecordPayload \
--input-path /path/to/new_data
```
在这个例子中,我们使用 `UPSERT` 操作将位于 `/path/to/new_data` 的数据写入了名为 `new_partition` 的分区。
3. 将新分区信息添加到元数据。要在 Hudi 中使用新分区,必须将其添加到元数据。可以使用 Hudi CLI 或 API 执行此操作。例如,使用 Hudi CLI 添加新分区:
```
$ java -jar hudi-cli.jar --table-type COPY_ON_WRITE \
--table-name huditable \
--props /path/to/hudi.properties \
--base-path /path/to/huditable \
--partition-value new_partition \
--op ADD_PARTITION
```
在这个例子中,我们使用 `ADD_PARTITION` 操作将名为 `new_partition` 的新分区添加到 `huditable` 表的元数据中。
完成上述步骤后,您就可以在 Hudi 中使用新分区了。
阅读全文