1
0

[HUDI-3475] Initialize hudi table management module.

This commit is contained in:
喻兆靖
2022-06-08 09:54:31 +08:00
parent 7c4aaa9715
commit 4640a3bbb8
43 changed files with 3235 additions and 0 deletions

View File

@@ -21,8 +21,10 @@ package org.apache.hudi.table.action.cluster;
import org.apache.hudi.avro.model.HoodieClusteringPlan;
import org.apache.hudi.avro.model.HoodieRequestedReplaceMetadata;
import org.apache.hudi.common.engine.HoodieEngineContext;
import org.apache.hudi.common.model.ActionType;
import org.apache.hudi.common.model.HoodieRecordPayload;
import org.apache.hudi.common.model.WriteOperationType;
import org.apache.hudi.common.table.HoodieTableMetaClient;
import org.apache.hudi.common.table.timeline.HoodieInstant;
import org.apache.hudi.common.table.timeline.HoodieTimeline;
import org.apache.hudi.common.table.timeline.TimelineMetadataUtils;
@@ -39,7 +41,9 @@ import org.apache.log4j.Logger;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ClusteringPlanActionExecutor<T extends HoodieRecordPayload, I, K, O> extends BaseActionExecutor<T, I, K, O, Option<HoodieClusteringPlan>> {
@@ -102,6 +106,22 @@ public class ClusteringPlanActionExecutor<T extends HoodieRecordPayload, I, K, O
throw new HoodieIOException("Exception scheduling clustering", ioe);
}
}
if (config.isTableManagerEnabled() && config.getTableManagerConfig().getTableManagerActions().contains(ActionType.replacecommit.name())) {
submitClusteringToService();
}
return planOption;
}
private void submitClusteringToService() {
HoodieTableMetaClient metaClient = table.getMetaClient();
List<String> instantsToSubmit = metaClient.getActiveTimeline()
.filterPendingReplaceTimeline()
.getInstants()
.map(HoodieInstant::getTimestamp)
.collect(Collectors.toList());
HoodieTableManagerClient tableManagerClient = new HoodieTableManagerClient(metaClient, config.getTableManagerConfig());
tableManagerClient.submitClustering(instantsToSubmit);
}
}