public class ClusteringUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
TOTAL_IO_READ_MB |
static String |
TOTAL_LOG_FILE_SIZE |
static String |
TOTAL_LOG_FILES |
| Constructor and Description |
|---|
ClusteringUtils() |
| Modifier and Type | Method and Description |
|---|---|
static HoodieClusteringPlan |
createClusteringPlan(String strategyClassName,
Map<String,String> strategyParams,
List<FileSlice>[] fileSliceGroups,
Map<String,String> extraMetadata)
Create clustering plan from input fileSliceGroups.
|
static Map<HoodieFileGroupId,HoodieInstant> |
getAllFileGroupsInPendingClusteringPlans(HoodieTableMetaClient metaClient)
Get filegroups to pending clustering instant mapping for all pending clustering plans.
|
static Stream<Pair<HoodieInstant,HoodieClusteringPlan>> |
getAllPendingClusteringPlans(HoodieTableMetaClient metaClient)
Get all pending clustering plans along with their instants.
|
static Option<Pair<HoodieInstant,HoodieClusteringPlan>> |
getClusteringPlan(HoodieTableMetaClient metaClient,
HoodieInstant pendingReplaceInstant)
Get Clustering plan from timeline.
|
static Option<Pair<HoodieInstant,HoodieClusteringPlan>> |
getClusteringPlan(HoodieTimeline timeline,
HoodieInstant pendingReplaceInstant)
Get Clustering plan from timeline.
|
static Option<HoodieInstant> |
getEarliestInstantToRetainForClustering(HoodieActiveTimeline activeTimeline,
HoodieTableMetaClient metaClient)
Returns the earliest instant to retain.
|
static Stream<HoodieFileGroupId> |
getFileGroupsFromClusteringGroup(HoodieClusteringGroup group) |
static Stream<HoodieFileGroupId> |
getFileGroupsFromClusteringPlan(HoodieClusteringPlan clusteringPlan) |
static Stream<Pair<HoodieFileGroupId,HoodieInstant>> |
getFileGroupsInPendingClusteringInstant(HoodieInstant instant,
HoodieClusteringPlan clusteringPlan) |
static List<HoodieInstant> |
getPendingClusteringInstantTimes(HoodieTableMetaClient metaClient) |
static boolean |
isClusteringInstant(HoodieTimeline timeline,
HoodieInstant replaceInstant)
Checks if the requested, inflight, or completed instant of replacecommit action
is a clustering operation, by checking whether the requested instant contains
a clustering plan.
|
static boolean |
isCompletedClusteringInstant(HoodieInstant instant,
HoodieTimeline timeline) |
static boolean |
isInsertOverwriteInstant(HoodieInstant instant,
HoodieTimeline timeline)
Returns whether the given instant
instant is with insert overwrite operation. |
public static final String TOTAL_IO_READ_MB
public static final String TOTAL_LOG_FILE_SIZE
public static final String TOTAL_LOG_FILES
public static Stream<Pair<HoodieInstant,HoodieClusteringPlan>> getAllPendingClusteringPlans(HoodieTableMetaClient metaClient)
public static boolean isClusteringInstant(HoodieTimeline timeline, HoodieInstant replaceInstant)
timeline - Hudi timeline.replaceInstant - the instant of replacecommit action to check.public static Option<Pair<HoodieInstant,HoodieClusteringPlan>> getClusteringPlan(HoodieTableMetaClient metaClient, HoodieInstant pendingReplaceInstant)
metaClient - used to get the active timelinependingReplaceInstant - can be in any state, because it will always be converted to requested statepublic static Option<Pair<HoodieInstant,HoodieClusteringPlan>> getClusteringPlan(HoodieTimeline timeline, HoodieInstant pendingReplaceInstant)
timeline - pendingReplaceInstant - public static Map<HoodieFileGroupId,HoodieInstant> getAllFileGroupsInPendingClusteringPlans(HoodieTableMetaClient metaClient)
public static Stream<Pair<HoodieFileGroupId,HoodieInstant>> getFileGroupsInPendingClusteringInstant(HoodieInstant instant, HoodieClusteringPlan clusteringPlan)
public static Stream<HoodieFileGroupId> getFileGroupsFromClusteringPlan(HoodieClusteringPlan clusteringPlan)
public static Stream<HoodieFileGroupId> getFileGroupsFromClusteringGroup(HoodieClusteringGroup group)
public static HoodieClusteringPlan createClusteringPlan(String strategyClassName, Map<String,String> strategyParams, List<FileSlice>[] fileSliceGroups, Map<String,String> extraMetadata)
public static List<HoodieInstant> getPendingClusteringInstantTimes(HoodieTableMetaClient metaClient)
public static Option<HoodieInstant> getEarliestInstantToRetainForClustering(HoodieActiveTimeline activeTimeline, HoodieTableMetaClient metaClient) throws IOException
activeTimeline - The active timelinemetaClient - The meta clientIOExceptionpublic static boolean isCompletedClusteringInstant(HoodieInstant instant, HoodieTimeline timeline)
instant - Hudi instant to check.timeline - Hudi timeline.instant is a completed clustering operation.public static boolean isInsertOverwriteInstant(HoodieInstant instant, HoodieTimeline timeline)
instant is with insert overwrite operation.Copyright © 2024 The Apache Software Foundation. All rights reserved.