public class HoodieTableFileSystemView extends IncrementalTimelineSyncFileSystemView
TableFileSystemView,
Serialized FormTableFileSystemView.BaseFileOnlyView, TableFileSystemView.BaseFileOnlyViewWithLatestSlice, TableFileSystemView.SliceView, TableFileSystemView.SliceViewWithLatestSlice| Modifier and Type | Field and Description |
|---|---|
protected Map<HoodieFileGroupId,BootstrapBaseFileMapping> |
fgIdToBootstrapBaseFile
PartitionPath + File-Id to bootstrap base File (Index Only bootstrapped).
|
protected Map<HoodieFileGroupId,HoodieInstant> |
fgIdToPendingClustering
Track file groups in pending clustering.
|
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> |
fgIdToPendingCompaction
PartitionPath + File-Id to pending compaction instant time.
|
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> |
fgIdToPendingLogCompaction
PartitionPath + File-Id to pending logcompaction instant time.
|
protected Map<HoodieFileGroupId,HoodieInstant> |
fgIdToReplaceInstants
Track replace time for replaced file groups.
|
protected Map<String,List<HoodieFileGroup>> |
partitionToFileGroupsMap |
completionTimeQueryView, metaClient, readLock, writeLock| Constructor and Description |
|---|
HoodieTableFileSystemView(HoodieTableMetaClient metaClient,
HoodieTimeline visibleActiveTimeline)
Create a file system view, as of the given timeline.
|
HoodieTableFileSystemView(HoodieTableMetaClient metaClient,
HoodieTimeline visibleActiveTimeline,
boolean enableIncrementalTimelineSync)
Create a file system view, as of the given timeline.
|
HoodieTableFileSystemView(HoodieTableMetaClient metaClient,
HoodieTimeline visibleActiveTimeline,
List<StoragePathInfo> pathInfoList)
Create a file system view, as of the given timeline, with the provided file statuses.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addPendingCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
Add pending compaction operations to store.
|
protected void |
addPendingLogCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
Add pending Log compaction operations to store.
|
protected void |
addReplacedFileGroups(Map<HoodieFileGroupId,HoodieInstant> replacedFileGroups)
Track instant time for new file groups replaced.
|
void |
close()
Allow View to release resources and close.
|
protected Map<HoodieFileGroupId,BootstrapBaseFileMapping> |
createFileIdToBootstrapBaseFileMap(Map<HoodieFileGroupId,BootstrapBaseFileMapping> fileGroupIdBootstrapBaseFileMap) |
protected Map<HoodieFileGroupId,HoodieInstant> |
createFileIdToPendingClusteringMap(Map<HoodieFileGroupId,HoodieInstant> fileGroupsInClustering) |
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> |
createFileIdToPendingCompactionMap(Map<HoodieFileGroupId,Pair<String,CompactionOperation>> fileIdToPendingCompaction) |
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> |
createFileIdToPendingLogCompactionMap(Map<HoodieFileGroupId,Pair<String,CompactionOperation>> fileIdToPendingLogCompaction) |
protected Map<HoodieFileGroupId,HoodieInstant> |
createFileIdToReplaceInstantMap(Map<HoodieFileGroupId,HoodieInstant> replacedFileGroups) |
protected Map<String,List<HoodieFileGroup>> |
createPartitionToFileGroups() |
Stream<HoodieFileGroup> |
fetchAllStoredFileGroups()
Fetch all Stored file-groups across all partitions loaded.
|
protected Stream<Pair<HoodieFileGroupId,HoodieInstant>> |
fetchFileGroupsInPendingClustering()
Fetch all file groups in pending clustering.
|
Stream<HoodieFileGroup> |
getAllFileGroups() |
protected Option<BootstrapBaseFileMapping> |
getBootstrapBaseFile(HoodieFileGroupId fileGroupId)
Return pending compaction operation for a file-group.
|
protected Option<HoodieInstant> |
getPendingClusteringInstant(HoodieFileGroupId fgId)
Get pending clustering instant time for specified file group.
|
protected Option<Pair<String,CompactionOperation>> |
getPendingCompactionOperationWithInstant(HoodieFileGroupId fgId)
Return pending compaction operation for a file-group.
|
protected Option<Pair<String,CompactionOperation>> |
getPendingLogCompactionOperationWithInstant(HoodieFileGroupId fgId)
Return pending Log compaction operation for a file-group.
|
protected Option<HoodieInstant> |
getReplaceInstant(HoodieFileGroupId fileGroupId)
Track instant time for file groups replaced.
|
protected boolean |
hasReplacedFilesInPartition(String partitionPath)
Returns whether there are replaced files within the given partition.
|
void |
init(HoodieTableMetaClient metaClient,
HoodieTimeline visibleActiveTimeline)
Initialize the view.
|
void |
init(HoodieTableMetaClient metaClient,
HoodieTimeline visibleActiveTimeline,
List<StoragePathInfo> pathInfoList)
Visible for testing
|
protected boolean |
isBootstrapBaseFilePresentForFileId(HoodieFileGroupId fgId)
Check if there is a bootstrap base file present for this file.
|
boolean |
isClosed()
Check if the view is already closed.
|
protected boolean |
isPartitionAvailableInStore(String partitionPath)
Checks if partition is pre-loaded and available in store.
|
protected boolean |
isPendingClusteringScheduledForFileId(HoodieFileGroupId fgId)
Check if there is an outstanding clustering operation (requested/inflight) scheduled for this file.
|
protected boolean |
isPendingCompactionScheduledForFileId(HoodieFileGroupId fgId)
Check if there is an outstanding compaction scheduled for this file.
|
protected boolean |
isPendingLogCompactionScheduledForFileId(HoodieFileGroupId fgId)
Check if there is an outstanding log compaction scheduled for this file.
|
protected void |
removePendingCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
Remove pending compaction operations from store.
|
protected void |
removePendingLogCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
Remove pending Log compaction operations from store.
|
protected void |
removeReplacedFileIdsAtInstants(Set<String> instants)
Remove file groups that are replaced in any of the specified instants.
|
protected void |
resetPendingCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
resets the pending compaction operation and overwrite with the new list.
|
protected void |
resetPendingLogCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
resets the pending Log compaction operation and overwrite with the new list.
|
protected void |
resetReplacedFileGroups(Map<HoodieFileGroupId,HoodieInstant> replacedFileGroups)
Track instant time for file groups replaced.
|
protected void |
resetViewState()
Allows all view metadata in file system view storage to be reset by subclasses.
|
protected void |
storePartitionView(String partitionPath,
List<HoodieFileGroup> fileGroups)
Add a complete partition view to store.
|
applyDeltaFileSlicesToPartitionView, getTimeline, maySyncIncrementally, refreshTimeline, syncaddBootstrapBaseFileIfPresent, addBootstrapBaseFileIfPresent, addBootstrapBaseFileIfPresent, addBootstrapBaseFileIfPresent, addBootstrapBaseFileIfPresent, addBootstrapBaseFileIfPresent, addFilesToView, addFilesToView, buildFileGroups, buildFileGroups, clear, ensurePartitionLoadedCorrectly, fetchLatestBaseFile, fetchLatestBaseFiles, fetchLatestFileSlice, getAllBaseFiles, getAllFileGroups, getAllFileGroupsStateless, getAllFileSlices, getAllLatestBaseFilesBeforeOrOn, getAllLatestFileSlicesBeforeOrOn, getAllLogsMergedFileSliceBeforeOrOn, getAllPartitionPaths, getAllReplacedFileGroups, getBaseFileOn, getCompletionTime, getFileGroupsInPendingClustering, getLastInstant, getLatestBaseFile, getLatestBaseFile, getLatestBaseFiles, getLatestBaseFiles, getLatestBaseFilesBeforeOrOn, getLatestBaseFilesInRange, getLatestFileSlice, getLatestFileSliceInRange, getLatestFileSlices, getLatestFileSlicesBeforeOrOn, getLatestFileSlicesIncludingInflight, getLatestFileSlicesStateless, getLatestMergedFileSlicesBeforeOrOn, getLatestUnCompactedFileSlices, getPartitionNames, getPartitionPaths, getPendingCompactionOperations, getPendingLogCompactionOperations, getReplacedFileGroupsAfterOrOn, getReplacedFileGroupsBefore, getReplacedFileGroupsBeforeOrOn, getVisibleCommitsAndCompactionTimeline, isBaseFileDueToPendingClustering, isBaseFileDueToPendingCompaction, listPartition, listPartitions, loadAllPartitions, loadPartitions, refreshCompletionTimeQueryView, resetprotected Map<String,List<HoodieFileGroup>> partitionToFileGroupsMap
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> fgIdToPendingCompaction
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> fgIdToPendingLogCompaction
protected Map<HoodieFileGroupId,BootstrapBaseFileMapping> fgIdToBootstrapBaseFile
protected Map<HoodieFileGroupId,HoodieInstant> fgIdToReplaceInstants
protected Map<HoodieFileGroupId,HoodieInstant> fgIdToPendingClustering
public HoodieTableFileSystemView(HoodieTableMetaClient metaClient, HoodieTimeline visibleActiveTimeline)
public HoodieTableFileSystemView(HoodieTableMetaClient metaClient, HoodieTimeline visibleActiveTimeline, boolean enableIncrementalTimelineSync)
public HoodieTableFileSystemView(HoodieTableMetaClient metaClient, HoodieTimeline visibleActiveTimeline, List<StoragePathInfo> pathInfoList)
public void init(HoodieTableMetaClient metaClient, HoodieTimeline visibleActiveTimeline)
AbstractTableFileSystemViewinit in class AbstractTableFileSystemViewpublic void init(HoodieTableMetaClient metaClient, HoodieTimeline visibleActiveTimeline, List<StoragePathInfo> pathInfoList)
protected void resetViewState()
AbstractTableFileSystemViewresetViewState in class AbstractTableFileSystemViewprotected Map<String,List<HoodieFileGroup>> createPartitionToFileGroups()
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> createFileIdToPendingCompactionMap(Map<HoodieFileGroupId,Pair<String,CompactionOperation>> fileIdToPendingCompaction)
protected Map<HoodieFileGroupId,Pair<String,CompactionOperation>> createFileIdToPendingLogCompactionMap(Map<HoodieFileGroupId,Pair<String,CompactionOperation>> fileIdToPendingLogCompaction)
protected Map<HoodieFileGroupId,BootstrapBaseFileMapping> createFileIdToBootstrapBaseFileMap(Map<HoodieFileGroupId,BootstrapBaseFileMapping> fileGroupIdBootstrapBaseFileMap)
protected Map<HoodieFileGroupId,HoodieInstant> createFileIdToReplaceInstantMap(Map<HoodieFileGroupId,HoodieInstant> replacedFileGroups)
protected Map<HoodieFileGroupId,HoodieInstant> createFileIdToPendingClusteringMap(Map<HoodieFileGroupId,HoodieInstant> fileGroupsInClustering)
protected boolean isPendingCompactionScheduledForFileId(HoodieFileGroupId fgId)
AbstractTableFileSystemViewisPendingCompactionScheduledForFileId in class AbstractTableFileSystemViewfgId - File-Group Idprotected void resetPendingCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
AbstractTableFileSystemViewoperations - Pending Compaction Operationsprotected void addPendingCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
AbstractTableFileSystemViewoperations - Pending compaction operations to be addedprotected void removePendingCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
AbstractTableFileSystemViewoperations - Pending compaction operations to be removedprotected boolean isPendingLogCompactionScheduledForFileId(HoodieFileGroupId fgId)
AbstractTableFileSystemViewisPendingLogCompactionScheduledForFileId in class AbstractTableFileSystemViewfgId - File-Group Idprotected void resetPendingLogCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
AbstractTableFileSystemViewoperations - Pending Log Compaction Operationsprotected void addPendingLogCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
AbstractTableFileSystemViewoperations - Pending Log compaction operations to be addedprotected void removePendingLogCompactionOperations(Stream<Pair<String,CompactionOperation>> operations)
AbstractTableFileSystemViewoperations - Pending Log compaction operations to be removedprotected boolean isPendingClusteringScheduledForFileId(HoodieFileGroupId fgId)
AbstractTableFileSystemViewisPendingClusteringScheduledForFileId in class AbstractTableFileSystemViewfgId - File-Group Idprotected Option<HoodieInstant> getPendingClusteringInstant(HoodieFileGroupId fgId)
AbstractTableFileSystemViewgetPendingClusteringInstant in class AbstractTableFileSystemViewprotected Stream<Pair<HoodieFileGroupId,HoodieInstant>> fetchFileGroupsInPendingClustering()
AbstractTableFileSystemViewfetchFileGroupsInPendingClustering in class AbstractTableFileSystemViewpublic Stream<HoodieFileGroup> getAllFileGroups()
protected boolean isBootstrapBaseFilePresentForFileId(HoodieFileGroupId fgId)
AbstractTableFileSystemViewisBootstrapBaseFilePresentForFileId in class AbstractTableFileSystemViewfgId - File-Group Idprotected Option<BootstrapBaseFileMapping> getBootstrapBaseFile(HoodieFileGroupId fileGroupId)
AbstractTableFileSystemViewgetBootstrapBaseFile in class AbstractTableFileSystemViewfileGroupId - File-Group Idprotected Option<Pair<String,CompactionOperation>> getPendingCompactionOperationWithInstant(HoodieFileGroupId fgId)
AbstractTableFileSystemViewgetPendingCompactionOperationWithInstant in class AbstractTableFileSystemViewfgId - File-Group Idprotected Option<Pair<String,CompactionOperation>> getPendingLogCompactionOperationWithInstant(HoodieFileGroupId fgId)
AbstractTableFileSystemViewgetPendingLogCompactionOperationWithInstant in class AbstractTableFileSystemViewfgId - File-Group Idprotected boolean isPartitionAvailableInStore(String partitionPath)
AbstractTableFileSystemViewpartitionPath - Partition Pathprotected void storePartitionView(String partitionPath, List<HoodieFileGroup> fileGroups)
AbstractTableFileSystemViewpartitionPath - Partition PathfileGroups - File Groups for the partition pathpublic Stream<HoodieFileGroup> fetchAllStoredFileGroups()
AbstractTableFileSystemViewprotected void resetReplacedFileGroups(Map<HoodieFileGroupId,HoodieInstant> replacedFileGroups)
AbstractTableFileSystemViewresetReplacedFileGroups in class AbstractTableFileSystemViewprotected void addReplacedFileGroups(Map<HoodieFileGroupId,HoodieInstant> replacedFileGroups)
AbstractTableFileSystemViewaddReplacedFileGroups in class AbstractTableFileSystemViewprotected void removeReplacedFileIdsAtInstants(Set<String> instants)
AbstractTableFileSystemViewremoveReplacedFileIdsAtInstants in class AbstractTableFileSystemViewprotected boolean hasReplacedFilesInPartition(String partitionPath)
AbstractTableFileSystemViewhasReplacedFilesInPartition in class AbstractTableFileSystemViewprotected Option<HoodieInstant> getReplaceInstant(HoodieFileGroupId fileGroupId)
AbstractTableFileSystemViewgetReplaceInstant in class AbstractTableFileSystemViewpublic void close()
SyncableFileSystemViewclose in interface AutoCloseableclose in interface SyncableFileSystemViewclose in class AbstractTableFileSystemViewpublic boolean isClosed()
AbstractTableFileSystemViewCopyright © 2024 The Apache Software Foundation. All rights reserved.