Package org.apache.iceberg.data
Class BaseDeleteLoader
- java.lang.Object
-
- org.apache.iceberg.data.BaseDeleteLoader
-
- All Implemented Interfaces:
DeleteLoader
public class BaseDeleteLoader extends java.lang.Object implements DeleteLoader
-
-
Constructor Summary
Constructors Constructor Description BaseDeleteLoader(java.util.function.Function<DeleteFile,InputFile> loadInputFile)
BaseDeleteLoader(java.util.function.Function<DeleteFile,InputFile> loadInputFile, java.util.concurrent.ExecutorService workerPool)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
canCache(long size)
Checks if the given number of bytes can be cached.protected <V> V
getOrLoad(java.lang.String key, java.util.function.Supplier<V> valueSupplier, long valueSize)
Gets the cached value for the key or populates the cache with a new mapping.StructLikeSet
loadEqualityDeletes(java.lang.Iterable<DeleteFile> deleteFiles, Schema projection)
Loads the content of equality delete files into a set.PositionDeleteIndex
loadPositionDeletes(java.lang.Iterable<DeleteFile> deleteFiles, java.lang.CharSequence filePath)
Loads the content of position delete files for a given data file path into a position index.
-
-
-
Constructor Detail
-
BaseDeleteLoader
public BaseDeleteLoader(java.util.function.Function<DeleteFile,InputFile> loadInputFile)
-
BaseDeleteLoader
public BaseDeleteLoader(java.util.function.Function<DeleteFile,InputFile> loadInputFile, java.util.concurrent.ExecutorService workerPool)
-
-
Method Detail
-
canCache
protected boolean canCache(long size)
Checks if the given number of bytes can be cached.Implementations should override this method if they support caching. It is also recommended to use the provided size as a guideline to decide whether the value is eligible for caching. For instance, it may be beneficial to discard values that are too large to optimize the cache performance and utilization.
-
getOrLoad
protected <V> V getOrLoad(java.lang.String key, java.util.function.Supplier<V> valueSupplier, long valueSize)
Gets the cached value for the key or populates the cache with a new mapping.If the value for the specified key is in the cache, it should be returned. If the value is not in the cache, implementations should compute the value using the provided supplier, cache it, and then return it.
This method will be called only if
canCache(long)
returned true.
-
loadEqualityDeletes
public StructLikeSet loadEqualityDeletes(java.lang.Iterable<DeleteFile> deleteFiles, Schema projection)
Description copied from interface:DeleteLoader
Loads the content of equality delete files into a set.- Specified by:
loadEqualityDeletes
in interfaceDeleteLoader
- Parameters:
deleteFiles
- equality delete filesprojection
- a projection of columns to load- Returns:
- a set of equality deletes
-
loadPositionDeletes
public PositionDeleteIndex loadPositionDeletes(java.lang.Iterable<DeleteFile> deleteFiles, java.lang.CharSequence filePath)
Description copied from interface:DeleteLoader
Loads the content of position delete files for a given data file path into a position index.- Specified by:
loadPositionDeletes
in interfaceDeleteLoader
- Parameters:
deleteFiles
- position delete filesfilePath
- the data file path for which to load deletes- Returns:
- a position delete index for the provided data file path
-
-