Class GCSFileIO
- All Implemented Interfaces:
Closeable
,Serializable
,AutoCloseable
,DelegateFileIO
,FileIO
,SupportsBulkOperations
,SupportsPrefixOperations
Locations follow the conventions used by BlobId.fromGsUtilUri
that follow the
convention
gs://<bucket>/<blob_path>
- See Also:
-
Constructor Summary
ConstructorDescriptionNo-arg constructor to load the FileIO dynamically.GCSFileIO
(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier, GCPProperties gcpProperties) Constructor with custom storage supplier and GCP properties. -
Method Summary
Modifier and TypeMethodDescriptioncom.google.cloud.storage.Storage
client()
void
close()
Close File IO to release underlying resources.void
deleteFile
(String path) Delete the file at the given path.void
deleteFiles
(Iterable<String> pathsToDelete) Delete the files at the given paths.void
deletePrefix
(String prefix) Delete all files under a prefix.void
initialize
(Map<String, String> props) Initialize File IO from catalog properties.listPrefix
(String prefix) Return an iterable of all files under a prefix.newInputFile
(String path) Get aInputFile
instance to read bytes from the file at the given path.newInputFile
(String path, long length) Get aInputFile
instance to read bytes from the file at the given path, with a known file length.newOutputFile
(String path) Get aOutputFile
instance to write bytes to the file at the given path.Returns the property map used to configure this FileIOMethods 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
-
Constructor Details
-
GCSFileIO
public GCSFileIO()No-arg constructor to load the FileIO dynamically.All fields are initialized by calling
initialize(Map)
later. -
GCSFileIO
public GCSFileIO(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier, GCPProperties gcpProperties) Constructor with custom storage supplier and GCP properties.Calling
initialize(Map)
will overwrite information set in this constructor.- Parameters:
storageSupplier
- storage suppliergcpProperties
- gcp properties
-
-
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
-
newInputFile
Description copied from interface:FileIO
Get aInputFile
instance to read bytes from the file at the given path, with a known file length.- 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
-
properties
Description copied from interface:FileIO
Returns the property map used to configure this FileIO- Specified by:
properties
in interfaceFileIO
-
client
public com.google.cloud.storage.Storage client() -
initialize
Description copied from interface:FileIO
Initialize File IO from catalog properties.- Specified by:
initialize
in interfaceFileIO
- Parameters:
props
- 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.
-
listPrefix
Description copied from interface:SupportsPrefixOperations
Return 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:
listPrefix
in interfaceSupportsPrefixOperations
- Parameters:
prefix
- prefix to list- Returns:
- iterable of file information
-
deletePrefix
Description copied from interface:SupportsPrefixOperations
Delete 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:
deletePrefix
in interfaceSupportsPrefixOperations
- Parameters:
prefix
- prefix to delete
-
deleteFiles
Description copied from interface:SupportsBulkOperations
Delete the files at the given paths.- Specified by:
deleteFiles
in interfaceSupportsBulkOperations
- Parameters:
pathsToDelete
- The paths to delete- Throws:
BulkDeletionFailureException
- in case of failure to delete at least 1 file
-