public class HoodieSimpleIndex extends HoodieIndex<Object,Object>
HoodieIndex.BucketIndexEngineType, HoodieIndex.IndexTypeconfig| Constructor and Description |
|---|
HoodieSimpleIndex(HoodieWriteConfig config,
Option<BaseKeyGenerator> keyGeneratorOpt) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canIndexLogFiles()
This is used by storage to determine, if its safe to send inserts, straight to the log, i.e having a
FileSlice, with no data file. |
protected HoodiePairData<HoodieKey,HoodieRecordLocation> |
fetchRecordLocations(HoodieEngineContext context,
HoodieTable hoodieTable,
int parallelism,
List<Pair<String,HoodieBaseFile>> baseFiles) |
protected HoodiePairData<HoodieKey,HoodieRecordLocation> |
fetchRecordLocationsForAffectedPartitions(HoodieData<HoodieKey> hoodieKeys,
HoodieEngineContext context,
HoodieTable hoodieTable,
int parallelism)
Fetch record locations for passed in
HoodieKeys. |
boolean |
isGlobal()
An index is `global` if
HoodieKey to fileID mapping, does not depend on the `partitionPath`. |
boolean |
isImplicitWithStorage()
An index is "implicit" with respect to storage, if just writing new data to a file slice, updates the index as
well.
|
boolean |
rollbackCommit(String commitTime)
Rollback the effects of the commit made at instantTime.
|
<R> HoodieData<HoodieRecord<R>> |
tagLocation(HoodieData<HoodieRecord<R>> records,
HoodieEngineContext context,
HoodieTable hoodieTable)
Looks up the index and tags each incoming record with a location of a file that contains
the row (if it is actually present).
|
protected <R> HoodieData<HoodieRecord<R>> |
tagLocationInternal(HoodieData<HoodieRecord<R>> inputRecords,
HoodieEngineContext context,
HoodieTable hoodieTable)
Tags records location for incoming records.
|
HoodieData<WriteStatus> |
updateLocation(HoodieData<WriteStatus> writeStatuses,
HoodieEngineContext context,
HoodieTable hoodieTable)
Extracts the location of written records, and updates the index.
|
close, requiresTagging, tagLocation, updateLocationpublic HoodieSimpleIndex(HoodieWriteConfig config, Option<BaseKeyGenerator> keyGeneratorOpt)
public HoodieData<WriteStatus> updateLocation(HoodieData<WriteStatus> writeStatuses, HoodieEngineContext context, HoodieTable hoodieTable)
HoodieIndexupdateLocation in class HoodieIndex<Object,Object>public boolean rollbackCommit(String commitTime)
HoodieIndexrollbackCommit in class HoodieIndex<Object,Object>public boolean isGlobal()
HoodieIndexHoodieKey to fileID mapping, does not depend on the `partitionPath`. Such an
implementation is able to obtain the same mapping, for two hoodie keys with same `recordKey` but different
`partitionPath`isGlobal in class HoodieIndex<Object,Object>public boolean canIndexLogFiles()
HoodieIndexFileSlice, with no data file.canIndexLogFiles in class HoodieIndex<Object,Object>public boolean isImplicitWithStorage()
HoodieIndexisImplicitWithStorage in class HoodieIndex<Object,Object>public <R> HoodieData<HoodieRecord<R>> tagLocation(HoodieData<HoodieRecord<R>> records, HoodieEngineContext context, HoodieTable hoodieTable)
HoodieIndextagLocation in class HoodieIndex<Object,Object>protected <R> HoodieData<HoodieRecord<R>> tagLocationInternal(HoodieData<HoodieRecord<R>> inputRecords, HoodieEngineContext context, HoodieTable hoodieTable)
inputRecords - HoodieData of incoming recordscontext - instance of HoodieEngineContext to usehoodieTable - instance of HoodieTable to useHoodieData of records with record locations setprotected HoodiePairData<HoodieKey,HoodieRecordLocation> fetchRecordLocationsForAffectedPartitions(HoodieData<HoodieKey> hoodieKeys, HoodieEngineContext context, HoodieTable hoodieTable, int parallelism)
HoodieKeys.hoodieKeys - HoodieData of HoodieKeys for which locations are fetchedcontext - instance of HoodieEngineContext to usehoodieTable - instance of HoodieTable of interestparallelism - parallelism to useHoodiePairData of HoodieKey and HoodieRecordLocationprotected HoodiePairData<HoodieKey,HoodieRecordLocation> fetchRecordLocations(HoodieEngineContext context, HoodieTable hoodieTable, int parallelism, List<Pair<String,HoodieBaseFile>> baseFiles)
Copyright © 2022 The Apache Software Foundation. All rights reserved.