目录
1. 表参数
1.1 Memory
参数名称描述默认值备注write.task.max.size每个write task使用的最大内存,超过则对数据进行flush1024MBwrite buffer使用的内存 = write.task.max.size - compaction.max_memory,当write buffer总共使用的内存超过限制,则将最大的buffer进行flushwrite.batch.size数据写入batch的大小64MB推荐使用默认配置write.log_block.sizeHudi的log writer将数据进行缓存,等达到该参数限制,才将数据flush到disk形成LogBlock128MB推荐使用默认配置write.merge.max_memoryCOW类型的表,进行incremental data和data file能使用的最大heap size100MB推荐使用默认配置compaction.max_memory每个write task进行compaction能使用的最大heap size100MB如果是online compaction,且资源充足,可以调大该值,如1024MB
1.2 Parallelism
参数名称描述默认值备注write.taskswrite task的并行度,每一个write task写入1~N个顺序buckets4增加该值,对小文件的数据没有影响write.bucket_assign.tasksbucket assigner operators的并行度Flink的parallelism.default参数增加该值,会增加bucket的数量,所以也会增加小文件的数量write.index_boostrap.tasksindex bootstrap的并行度Flink的parallelism.default参数read.tasksread operators的并行度4compaction.tasksonline compaction的并行度4推荐使用offline compaction
1.3 Compaction
- 1. 表参数
- 1.1 Memory
- 1.2 Parallelism
- 1.3 Compaction
只适用于online compaction
参数名称描述默认值备注compaction.schedule.enabled是否定期生成compaction plantrue即使compaction.async.enabled = false,也推荐开启该值compaction.async.enabledMOR类型表默认开启Async Compactiontruefalse表示关闭online compactioncompaction.trigger.strategy触发compaction的Strategynum_commits可选参数值:1. num_commits:delta commits数量达到多少;2. time_elapsed:上次compaction过后多少秒;3. num_and_time:同时满足num_commits和time_elapsed;4. num_or_time:满足num_commits或time_elapsedcompaction.delta_commits5compaction.delta_seconds3600compaction.target_io每个compaction读写合计的目标IO,默认500GB512000