Package org.apache.iceberg.io
Class ResolvingFileIO
- java.lang.Object
- 
- org.apache.iceberg.io.ResolvingFileIO
 
- 
- All Implemented Interfaces:
- java.io.Closeable,- java.io.Serializable,- java.lang.AutoCloseable,- org.apache.hadoop.conf.Configurable,- HadoopConfigurable,- DelegateFileIO,- FileIO,- SupportsBulkOperations,- SupportsPrefixOperations
 
 public class ResolvingFileIO extends java.lang.Object implements HadoopConfigurable, DelegateFileIO FileIO implementation that uses location scheme to choose the correct FileIO implementation. Delegate FileIO implementations must implement theDelegateFileIOmixin interface, otherwise initialization will fail.- See Also:
- Serialized Form
 
- 
- 
Constructor SummaryConstructors Constructor Description ResolvingFileIO()No-arg constructor to load the FileIO dynamically.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close File IO to release underlying resources.voiddeleteFile(java.lang.String location)Delete the file at the given path.voiddeleteFiles(java.lang.Iterable<java.lang.String> pathsToDelete)Delete the files at the given paths.voiddeletePrefix(java.lang.String prefix)Delete all files under a prefix.protected voidfinalize()org.apache.hadoop.conf.ConfigurationgetConf()voidinitialize(java.util.Map<java.lang.String,java.lang.String> newProperties)Initialize File IO from catalog properties.java.lang.Class<?>ioClass(java.lang.String location)java.lang.Iterable<FileInfo>listPrefix(java.lang.String prefix)Return an iterable of all files under a prefix.InputFilenewInputFile(java.lang.String location)Get aInputFileinstance to read bytes from the file at the given path.InputFilenewInputFile(java.lang.String location, long length)Get aInputFileinstance to read bytes from the file at the given path, with a known file length.OutputFilenewOutputFile(java.lang.String location)Get aOutputFileinstance to write bytes to the file at the given path.java.util.Map<java.lang.String,java.lang.String>properties()Returns the property map used to configure this FileIOvoidserializeConfWith(java.util.function.Function<org.apache.hadoop.conf.Configuration,SerializableSupplier<org.apache.hadoop.conf.Configuration>> confSerializer)Take a function that serializes Hadoop configuration into a supplier.voidsetConf(org.apache.hadoop.conf.Configuration conf)- 
Methods inherited from class java.lang.Objectclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.apache.iceberg.io.FileIOdeleteFile, deleteFile, newInputFile, newInputFile, newInputFile
 
- 
 
- 
- 
- 
Constructor Detail- 
ResolvingFileIOpublic ResolvingFileIO() No-arg constructor to load the FileIO dynamically.All fields are initialized by calling initialize(Map)later.
 
- 
 - 
Method Detail- 
newInputFilepublic InputFile newInputFile(java.lang.String location) Description copied from interface:FileIOGet aInputFileinstance to read bytes from the file at the given path.- Specified by:
- newInputFilein interface- FileIO
 
 - 
newInputFilepublic InputFile newInputFile(java.lang.String location, long length) Description copied from interface:FileIOGet aInputFileinstance to read bytes from the file at the given path, with a known file length.- Specified by:
- newInputFilein interface- FileIO
 
 - 
newOutputFilepublic OutputFile newOutputFile(java.lang.String location) Description copied from interface:FileIOGet aOutputFileinstance to write bytes to the file at the given path.- Specified by:
- newOutputFilein interface- FileIO
 
 - 
deleteFilepublic void deleteFile(java.lang.String location) Description copied from interface:FileIODelete the file at the given path.- Specified by:
- deleteFilein interface- FileIO
 
 - 
deleteFilespublic void deleteFiles(java.lang.Iterable<java.lang.String> pathsToDelete) throws BulkDeletionFailureExceptionDescription copied from interface:SupportsBulkOperationsDelete the files at the given paths.- Specified by:
- deleteFilesin interface- SupportsBulkOperations
- Parameters:
- pathsToDelete- The paths to delete
- Throws:
- BulkDeletionFailureException- in case of failure to delete at least 1 file
 
 - 
propertiespublic java.util.Map<java.lang.String,java.lang.String> properties() Description copied from interface:FileIOReturns the property map used to configure this FileIO- Specified by:
- propertiesin interface- FileIO
 
 - 
initializepublic void initialize(java.util.Map<java.lang.String,java.lang.String> newProperties) Description copied from interface:FileIOInitialize File IO from catalog properties.- Specified by:
- initializein interface- FileIO
- Parameters:
- newProperties- catalog properties
 
 - 
closepublic void close() Description copied from interface:FileIOClose File IO to release underlying resources.Calling this method is only required when this FileIO instance is no longer expected to be used, and the resources it holds need to be explicitly released to avoid resource leaks. 
 - 
serializeConfWithpublic void serializeConfWith(java.util.function.Function<org.apache.hadoop.conf.Configuration,SerializableSupplier<org.apache.hadoop.conf.Configuration>> confSerializer) Description copied from interface:HadoopConfigurableTake a function that serializes Hadoop configuration into a supplier. An implementation is supposed to pass in its current Hadoop configuration into this function, and the result can be safely serialized for future use.- Specified by:
- serializeConfWithin interface- HadoopConfigurable
- Parameters:
- confSerializer- A function that takes Hadoop configuration and returns a serializable supplier of it.
 
 - 
setConfpublic void setConf(org.apache.hadoop.conf.Configuration conf) - Specified by:
- setConfin interface- org.apache.hadoop.conf.Configurable
 
 - 
getConfpublic org.apache.hadoop.conf.Configuration getConf() - Specified by:
- getConfin interface- org.apache.hadoop.conf.Configurable
 
 - 
ioClasspublic java.lang.Class<?> ioClass(java.lang.String location) 
 - 
finalizeprotected void finalize() throws java.lang.Throwable- Overrides:
- finalizein class- java.lang.Object
- Throws:
- java.lang.Throwable
 
 - 
listPrefixpublic java.lang.Iterable<FileInfo> listPrefix(java.lang.String prefix) Description copied from interface:SupportsPrefixOperationsReturn an iterable of all files under a prefix.Hierarchical file systems (e.g. HDFS) may impose additional restrictions like the prefix must fully match a directory whereas key/value object stores may allow for arbitrary prefixes. - Specified by:
- listPrefixin interface- SupportsPrefixOperations
- Parameters:
- prefix- prefix to list
- Returns:
- iterable of file information
 
 - 
deletePrefixpublic void deletePrefix(java.lang.String prefix) Description copied from interface:SupportsPrefixOperationsDelete all files under a prefix.Hierarchical file systems (e.g. HDFS) may impose additional restrictions like the prefix must fully match a directory whereas key/value object stores may allow for arbitrary prefixes. - Specified by:
- deletePrefixin interface- SupportsPrefixOperations
- Parameters:
- prefix- prefix to delete
 
 
- 
 
-