更新时间:2025-12-26 GMT+08:00
分享

Spark创建带隐式分区的Hudi表

在Spark中创建带有隐式分区的Hudi表,可以通过配置选项来实现,需要在options_list中增加以下参数。建表语句格式具体请参考CREATE TABLE

hoodie.hidden.partitioning.max.rules = [hidden_partition_max_rules_num]
hoodie.hidden.partitioning.rule = [hidden_partition_rules]
hoodie.hidden.partitioning.enabled = [hidden_partition_enable]
表1 参数解释

参数

描述

是否必填

hoodie.hidden.partitioning.max.rules

String类型,用于控制隐式分区的最大规则数量。它限制了可以应用于分区路径生成的规则数量,从而影响分区的灵活性和性能。

否,默认是5。分区规则越多,性能越差,如果分区规则超过5个,需要先调整此参数。

hidden_partition_rules

String类型,用于定义隐式分区的规则。这些规则允许您在不新增列的情况下,对表中存在的原始列进行转换后生成分区列值。

hidden_partition_enable

Boolean类型,用于启用或禁用隐式分区功能。

  • true:启用隐式分区
  • false:则禁用隐式分区

示例

create table test ( id int, name string, price double, size int, ts timestamp )
using hudi tblproperties
(primaryKey = 'id',
preCombineField = 'ts',
hoodie.hidden.partitioning.rule = 'date(ts, yyyy), date(ts, MM), bucket(id, 5)',
hoodie.hidden.partitioning.enabled = 'true'
);

相关文档