MAPREDUCE服务 MRS-Hudi常见配置参数:Clustering配置
Clustering配置
本章节内容仅适用于 MRS 3.2.0及之后版本。
Clustering中有两个策略分别是hoodie.clustering.plan.strategy.class和hoodie.clustering.execution.strategy.class。一般情况下指定plan.strategy为SparkRecentDaysClusteringPlanStrategy或者SparkSizeBasedClusteringPlanStrategy时,execution.strategy不需要指定。但当plan.strategy为SparkSingleFileSortPlanStrategy时,需要指定execution.strategy为SparkSingleFileSortExecutionStrategy。
参数 |
描述 |
默认值 |
---|---|---|
hoodie.clustering.inline |
是否同步执行clustering。 |
false |
hoodie.clustering.inline.max.commits |
触发clustering的commit数。 |
4 |
hoodie.clustering.async.enabled |
是否启用异步执行clustering。
说明:
此参数仅适用于MRS 3.3.0-LTS及之后版本。 |
false |
hoodie.clustering.async.max.commits |
异步执行时触发clustering的commit数。
说明:
此参数仅适用于MRS 3.3.0-LTS及之后版本。 |
4 |
hoodie.clustering.plan.strategy.target.file.max.bytes |
指定clustering后每个文件大小最大值。 |
1024 * 1024 * 1024 byte |
hoodie.clustering.plan.strategy.small.file.limit |
小于该大小的文件会被clustering。 |
300 * 1024 * 1024 byte |
hoodie.clustering.plan.strategy.sort.columns |
clustering用以排序的列。 |
无 |
hoodie.layout.optimize.strategy |
Clustering执行策略,可选linear、z-order、hilbert三种排序方式。 |
linear |
hoodie.layout.optimize.enable |
使用z-order、hilbert时需要开启。 |
false |
hoodie.clustering.plan.strategy.class |
筛选FileGroup进行clustering的策略类,默认筛选小于hoodie.clustering.plan.strategy.small.file.limit阈值的文件。 |
org.apache.hudi.client.clustering.plan.strategy.SparkSizeBasedClusteringPlanStrategy |
hoodie.clustering.execution.strategy.class |
执行clustering的策略类(RunClusteringStrategy的子类),用以定义群集计划的执行方式。 默认类们按指定的列对计划中的文件组进行排序,同时满足配置的目标文件大小。 |
org.apache.hudi.client.clustering.run.strategy.SparkSortAndSizeExecutionStrategy |
hoodie.clustering.plan.strategy.max.num.groups |
设置执行clustering时最多选择多少个FileGroup,该值越大并发度越大。 |
30 |
hoodie.clustering.plan.strategy.max.bytes.per.group |
设置执行clustering时每个FileGroup最多有多少数据参与clustering。 |
2 * 1024 * 1024 * 1024 byte |