Package org.apache.iceberg.aliyun.oss
Class OSSFileIO
java.lang.Object
org.apache.iceberg.aliyun.oss.OSSFileIO
- All Implemented Interfaces:
Closeable
,Serializable
,AutoCloseable
,FileIO
FileIO implementation backed by OSS.
Locations used must follow the conventions for OSS URIs (e.g. oss://bucket/path...). URIs with
scheme https are also treated as oss file paths. Using this FileIO with other schemes with result
in ValidationException
- See Also:
-
Constructor Summary
ConstructorDescriptionNo-arg constructor to load the FileIO dynamically.OSSFileIO
(SerializableSupplier<com.aliyun.oss.OSS> oss) Constructor with custom oss supplier and default aliyun properties. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close File IO to release underlying resources.void
deleteFile
(String path) Delete the file at the given path.void
initialize
(Map<String, String> properties) Initialize File IO from catalog properties.newInputFile
(String path) Get aInputFile
instance to read bytes from the file at the given path.newOutputFile
(String path) Get aOutputFile
instance to write bytes to the file at the given path.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, newInputFile, newInputFile, newInputFile, newInputFile, properties
-
Constructor Details
-
OSSFileIO
public OSSFileIO()No-arg constructor to load the FileIO dynamically.All fields are initialized by calling
initialize(Map)
later. -
OSSFileIO
Constructor with custom oss supplier and default aliyun properties.Calling
initialize(Map)
will overwrite information set in this constructor.- Parameters:
oss
- oss supplier
-
-
Method Details
-
newInputFile
Description copied from interface:FileIO
Get aInputFile
instance to read bytes from the file at the given path.- Specified by:
newInputFile
in interfaceFileIO
-
newOutputFile
Description copied from interface:FileIO
Get aOutputFile
instance to write bytes to the file at the given path.- Specified by:
newOutputFile
in interfaceFileIO
-
deleteFile
Description copied from interface:FileIO
Delete the file at the given path.- Specified by:
deleteFile
in interfaceFileIO
-
initialize
Description copied from interface:FileIO
Initialize File IO from catalog properties.- Specified by:
initialize
in interfaceFileIO
- Parameters:
properties
- catalog properties
-
close
public void close()Description copied from interface:FileIO
Close 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.
-