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 List<Pair<HoodieInstant,HoodieCompactionPlan>> |
getAllPendingCompactionPlans(HoodieTableMetaClient metaClient)
Get all pending compaction plans along with their instants.
|
static HoodieCompactionPlan |
getCompactionPlan(HoodieTableMetaClient metaClient,
String compactionInstant) |
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> |
getOldestInstantToRetainForCompaction(HoodieActiveTimeline activeTimeline,
int maxDeltaCommits)
Gets the oldest instant to retain for MOR compaction.
|
static List<HoodieInstant> |
getPendingCompactionInstantTimes(HoodieTableMetaClient metaClient)
Return all pending compaction instant times.
|
static Stream<Pair<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>>> |
getPendingCompactionOperations(HoodieInstant instant,
HoodieCompactionPlan compactionPlan) |
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 HoodieCompactionPlan getCompactionPlan(HoodieTableMetaClient metaClient, String compactionInstant) throws IOException
IOExceptionpublic static Map<HoodieFileGroupId,Pair<String,HoodieCompactionOperation>> getAllPendingCompactionOperations(HoodieTableMetaClient metaClient)
metaClient - Hoodie Table Meta Clientpublic 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>> getDeltaCommitsSinceLatestCompaction(HoodieActiveTimeline activeTimeline)
activeTimeline - Active timeline of a table.public static Option<Pair<HoodieTimeline,HoodieInstant>> getDeltaCommitsSinceLatestCompactionRequest(HoodieActiveTimeline activeTimeline)
public static Option<HoodieInstant> getOldestInstantToRetainForCompaction(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 © 2022 The Apache Software Foundation. All rights reserved.