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,FileIO
public class ResolvingFileIO extends java.lang.Object implements FileIO, HadoopConfigurable
FileIO implementation that uses location scheme to choose the correct FileIO implementation.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ResolvingFileIO()No-arg constructor to load the FileIO dynamically.
-
Method Summary
All 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.org.apache.hadoop.conf.ConfigurationgetConf()voidinitialize(java.util.Map<java.lang.String,java.lang.String> newProperties)Initialize File IO from catalog properties.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.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.iceberg.io.FileIO
deleteFile, deleteFile
-
-
-
-
Constructor Detail
-
ResolvingFileIO
public ResolvingFileIO()
No-arg constructor to load the FileIO dynamically.All fields are initialized by calling
initialize(Map)later.
-
-
Method Detail
-
newInputFile
public 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 interfaceFileIO
-
newInputFile
public 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 interfaceFileIO
-
newOutputFile
public 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 interfaceFileIO
-
deleteFile
public void deleteFile(java.lang.String location)
Description copied from interface:FileIODelete the file at the given path.- Specified by:
deleteFilein interfaceFileIO
-
properties
public 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 interfaceFileIO
-
initialize
public 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 interfaceFileIO- Parameters:
newProperties- catalog properties
-
close
public 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.
-
serializeConfWith
public 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 interfaceHadoopConfigurable- Parameters:
confSerializer- A function that takes Hadoop configuration and returns a serializable supplier of it.
-
setConf
public void setConf(org.apache.hadoop.conf.Configuration conf)
- Specified by:
setConfin interfaceorg.apache.hadoop.conf.Configurable
-
getConf
public org.apache.hadoop.conf.Configuration getConf()
- Specified by:
getConfin interfaceorg.apache.hadoop.conf.Configurable
-
-