[HUDI-3475] Initialize hudi table management module.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user