public class CompactionUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
static Integer |
COMPACTION_METADATA_VERSION_1 |
static Integer |
COMPACTION_METADATA_VERSION_2 |
static Integer |
LATEST_COMPACTION_METADATA_VERSION |
| Constructor and Description |
|---|
CompactionUtils() |
| Modifier and Type | Method and Description |
|---|---|
static CompactionOperation |
buildCompactionOperation(HoodieCompactionOperation hc)
Build Compaction operation payload from Avro version for using in Spark executors.
|
static HoodieCompactionOperation |
buildFromFileSlice(String partitionPath,
FileSlice fileSlice,
Option<Function<Pair<String,FileSlice>,Map<String,Double>>> metricsCaptureFunction)
Generate compaction operation from file-slice.
|
static HoodieCompactionPlan |
buildFromFileSlices(List<Pair<String,FileSlice>> partitionFileSlicePairs,
Option<Map<String,String>> extraMetadata,
Option<Function<Pair<String,FileSlice>,Map<String,Double>>> metricsCaptureFunction)
Generate compaction plan from file-slices.
|
static HoodieCompactionOperation |
buildHoodieCompactionOperation(CompactionOperation op)
Build Avro generated Compaction operation payload from compaction operation POJO for serialization.
|
static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> |
getAllPendingCompactionOperations(HoodieTableMetaClient metaClient)
Get all PartitionPath + file-ids with pending Compaction operations and their target compaction instant time.
|
static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> |
getAllPendingCompactionOperationsInPendingCompactionPlans(List<Pair<HoodieInstant,HoodieCompactionPlan>> pendingLogCompactionPlanWithInstants)
Get all partition + file Ids with pending Log Compaction operations and their target log compaction instant time.
|
static List<Pair<HoodieInstant,HoodieCompactionPlan>> |
getAllPendingCompactionPlans(HoodieTableMetaClient metaClient)
Get all pending compaction plans along with their instants.
|
static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> |
getAllPendingLogCompactionOperations(HoodieTableMetaClient metaClient)
Get all partition + file Ids with pending Log Compaction operations and their target log compaction instant time.
|
static List<Pair<HoodieInstant,HoodieCompactionPlan>> |
getAllPendingLogCompactionPlans(HoodieTableMetaClient metaClient)
Get all pending logcompaction plans along with their instants.
|
static HoodieCompactionPlan |
getCompactionPlan(HoodieTableMetaClient metaClient,
Option<byte[]> planContent)
Util method to fetch both compaction and log compaction plan from requestedInstant.
|
static HoodieCompactionPlan |
getCompactionPlan(HoodieTableMetaClient metaClient,
String compactionInstant)
This method will serve only Compaction instants
because we use same HoodieCompactionPlan for both the operations.
|
static Option<Pair<HoodieTimeline,HoodieInstant>> |
getCompletedDeltaCommitsSinceLatestCompaction(HoodieActiveTimeline activeTimeline)
Returns a pair of (timeline containing the completed delta commits after the latest completed
compaction commit, the completed compaction commit instant), if the latest completed
compaction commit is present; a pair of (timeline containing all the completed delta commits,
the first delta commit instant), if there is no completed compaction commit.
|
static Option<Pair<HoodieTimeline,HoodieInstant>> |
getDeltaCommitsSinceLatestCompaction(HoodieActiveTimeline activeTimeline)
Returns a pair of (timeline containing the delta commits after the latest completed
compaction commit, the completed compaction commit instant), if the latest completed
compaction commit is present; a pair of (timeline containing all the delta commits,
the first delta commit instant), if there is no completed compaction commit.
|
static Option<Pair<HoodieTimeline,HoodieInstant>> |
getDeltaCommitsSinceLatestCompactionRequest(HoodieActiveTimeline activeTimeline) |
static Option<HoodieInstant> |
getEarliestInstantToRetainForCompaction(HoodieActiveTimeline activeTimeline,
int maxDeltaCommits)
Gets the earliest instant to retain for MOR compaction.
|
static HoodieCompactionPlan |
getLogCompactionPlan(HoodieTableMetaClient metaClient,
String logCompactionInstant)
This method will serve only log compaction instants,
because we use same HoodieCompactionPlan for both the operations.
|
static List<HoodieInstant> |
getPendingCompactionInstantTimes(HoodieTableMetaClient metaClient)
Return all pending compaction instant times.
|
static Stream<Pair<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>>> |
getPendingCompactionOperations(HoodieInstant instant,
HoodieCompactionPlan compactionPlan)
Get pending compaction operations for both major and minor compaction.
|
public static final Integer COMPACTION_METADATA_VERSION_1
public static final Integer COMPACTION_METADATA_VERSION_2
public static final Integer LATEST_COMPACTION_METADATA_VERSION
public static HoodieCompactionOperation buildFromFileSlice(String partitionPath, FileSlice fileSlice, Option<Function<Pair<String,FileSlice>,Map<String,Double>>> metricsCaptureFunction)
partitionPath - Partition pathfileSlice - File SlicemetricsCaptureFunction - Metrics Capture functionpublic static HoodieCompactionPlan buildFromFileSlices(List<Pair<String,FileSlice>> partitionFileSlicePairs, Option<Map<String,String>> extraMetadata, Option<Function<Pair<String,FileSlice>,Map<String,Double>>> metricsCaptureFunction)
partitionFileSlicePairs - list of partition file-slice pairsextraMetadata - Extra MetadatametricsCaptureFunction - Metrics Capture functionpublic static HoodieCompactionOperation buildHoodieCompactionOperation(CompactionOperation op)
public static CompactionOperation buildCompactionOperation(HoodieCompactionOperation hc)
hc - HoodieCompactionOperationpublic static List<Pair<HoodieInstant,HoodieCompactionPlan>> getAllPendingCompactionPlans(HoodieTableMetaClient metaClient)
metaClient - Hoodie Meta Clientpublic static List<Pair<HoodieInstant,HoodieCompactionPlan>> getAllPendingLogCompactionPlans(HoodieTableMetaClient metaClient)
metaClient - Hoodie Meta Clientpublic static HoodieCompactionPlan getCompactionPlan(HoodieTableMetaClient metaClient, String compactionInstant)
public static HoodieCompactionPlan getLogCompactionPlan(HoodieTableMetaClient metaClient, String logCompactionInstant)
public static HoodieCompactionPlan getCompactionPlan(HoodieTableMetaClient metaClient, Option<byte[]> planContent)
public static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> getAllPendingCompactionOperations(HoodieTableMetaClient metaClient)
metaClient - Hoodie Table Meta Clientpublic static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> getAllPendingLogCompactionOperations(HoodieTableMetaClient metaClient)
public static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> getAllPendingCompactionOperationsInPendingCompactionPlans(List<Pair<HoodieInstant,HoodieCompactionPlan>> pendingLogCompactionPlanWithInstants)
public static Stream<Pair<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>>> getPendingCompactionOperations(HoodieInstant instant, HoodieCompactionPlan compactionPlan)
public static List<HoodieInstant> getPendingCompactionInstantTimes(HoodieTableMetaClient metaClient)
public static Option<Pair<HoodieTimeline,HoodieInstant>> getCompletedDeltaCommitsSinceLatestCompaction(HoodieActiveTimeline activeTimeline)
activeTimeline - Active timeline of a table.public static Option<Pair<HoodieTimeline,HoodieInstant>> getDeltaCommitsSinceLatestCompaction(HoodieActiveTimeline activeTimeline)
activeTimeline - Active timeline of a table.public static Option<Pair<HoodieTimeline,HoodieInstant>> getDeltaCommitsSinceLatestCompactionRequest(HoodieActiveTimeline activeTimeline)
public static Option<HoodieInstant> getEarliestInstantToRetainForCompaction(HoodieActiveTimeline activeTimeline, int maxDeltaCommits)
activeTimeline - Active timeline of a table.maxDeltaCommits - Maximum number of delta commits that trigger the compaction plan,
i.e., "hoodie.compact.inline.max.delta.commits".Copyright © 2024 The Apache Software Foundation. All rights reserved.