Package org.apache.iceberg.azure.adlsv2
Class ADLSFileIO
- java.lang.Object
-
- org.apache.iceberg.azure.adlsv2.ADLSFileIO
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Serializable,java.lang.AutoCloseable,DelegateFileIO,FileIO,SupportsBulkOperations,SupportsPrefixOperations
public class ADLSFileIO extends java.lang.Object implements DelegateFileIO
FileIO implementation backed by Azure Data Lake Storage Gen2.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ADLSFileIO()No-arg constructor to load the FileIO dynamically.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.azure.storage.file.datalake.DataLakeFileSystemClientclient(java.lang.String path)voiddeleteFile(java.lang.String path)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.voidinitialize(java.util.Map<java.lang.String,java.lang.String> props)Initialize File IO from catalog properties.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 FileIO-
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
-
-
-
-
Constructor Detail
-
ADLSFileIO
public ADLSFileIO()
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 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
-
client
public com.azure.storage.file.datalake.DataLakeFileSystemClient client(java.lang.String path)
-
initialize
public void initialize(java.util.Map<java.lang.String,java.lang.String> props)
Description copied from interface:FileIOInitialize File IO from catalog properties.- Specified by:
initializein interfaceFileIO- Parameters:
props- catalog properties
-
deleteFiles
public void deleteFiles(java.lang.Iterable<java.lang.String> pathsToDelete) throws BulkDeletionFailureExceptionDescription copied from interface:SupportsBulkOperationsDelete the files at the given paths.- Specified by:
deleteFilesin interfaceSupportsBulkOperations- Parameters:
pathsToDelete- The paths to delete- Throws:
BulkDeletionFailureException- in case of failure to delete at least 1 file
-
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
-
-