Package org.apache.iceberg.hadoop
Class HadoopFileIO
- java.lang.Object
-
- org.apache.iceberg.hadoop.HadoopFileIO
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Serializable,java.lang.AutoCloseable,org.apache.hadoop.conf.Configurable,HadoopConfigurable,FileIO,SupportsPrefixOperations
public class HadoopFileIO extends java.lang.Object implements FileIO, HadoopConfigurable, SupportsPrefixOperations
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description HadoopFileIO()Constructor used for dynamic FileIO loading.HadoopFileIO(org.apache.hadoop.conf.Configuration hadoopConf)HadoopFileIO(SerializableSupplier<org.apache.hadoop.conf.Configuration> hadoopConf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.hadoop.conf.Configurationconf()voiddeleteFile(java.lang.String path)Delete the file at the given path.voiddeletePrefix(java.lang.String prefix)Delete all files under a prefix.org.apache.hadoop.conf.ConfigurationgetConf()java.lang.Iterable<FileInfo>listPrefix(java.lang.String prefix)Return an iterable of all files under a prefix.InputFilenewInputFile(java.lang.String path)Get aInputFileinstance to read bytes from the file at the given path.InputFilenewInputFile(java.lang.String path, long length)Get aInputFileinstance to read bytes from the file at the given path, with a known file length.OutputFilenewOutputFile(java.lang.String path)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
close, deleteFile, deleteFile, initialize
-
-
-
-
Constructor Detail
-
HadoopFileIO
public HadoopFileIO()
Constructor used for dynamic FileIO loading.Hadoop configurationmust be set throughsetConf(Configuration)
-
HadoopFileIO
public HadoopFileIO(org.apache.hadoop.conf.Configuration hadoopConf)
-
HadoopFileIO
public HadoopFileIO(SerializableSupplier<org.apache.hadoop.conf.Configuration> hadoopConf)
-
-
Method Detail
-
conf
public org.apache.hadoop.conf.Configuration conf()
-
newInputFile
public InputFile newInputFile(java.lang.String path)
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 path, 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 path)
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 path)
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
-
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
-
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.
-
listPrefix
public 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 interfaceSupportsPrefixOperations- Parameters:
prefix- prefix to list- Returns:
- iterable of file information
-
deletePrefix
public 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 interfaceSupportsPrefixOperations- Parameters:
prefix- prefix to delete
-
-