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)' );