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

Flink创建带隐式分区的Hudi表

建表语句格式可以参考FlinkServer作业对接Hudi表

flink sql的Hudi表with中设置如下hidden partition 参数:

hoodie.hidden.partitioning.max.rules = [hidden_partition_max_rules_num]

'hoodie.hidden.partitioning.enabled' = [hidden_partition_enable]

'hoodie.hidden.partitioning.rule' = [hidden_partition_rules]

参数

描述

是否必填

hoodie.hidden.partitioning.max.rules

String类型,可配置的最大隐式分区规则数量。

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

hidden_partition_rules

String类型,隐式分区的分区规则

hidden_partition_enable

Boolean类型,是否开启隐式分区

示例

create table hudi_source(
uuid varchar(20),
name varchar(10),
age int,
ts timestamp(3),
ts6 timestamp(6),
p varchar(20)
) with (
'connector' = 'hudi',
'path' = 'hdfs://hacluster/tmp/hudi/flink_stream_mor3',
'table.type' = 'MERGE_ON_READ',
'hoodie.datasource.write.recordkey.field' = 'uuid',
'write.precombine.field' = 'uuid',
'hoodie.datasource.write.hive_style_partitioning' = 'true',
'hoodie.hidden.partitioning.enabled' = 'true',
'hoodie.hidden.partitioning.rule' = 'truncate(partition, 3), date(ts, yyyy), identity(col1)'
);

相关文档