Class GCSFileIO
- All Implemented Interfaces:
Closeable,Serializable,AutoCloseable,DelegateFileIO,FileIO,SupportsBulkOperations,SupportsPrefixOperations,SupportsStorageCredentials
Locations follow the conventions used by BlobId.fromGsUtilUri that follow the
convention
gs://<bucket>/<blob_path>
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionNo-arg constructor to load the FileIO dynamically.GCSFileIO(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier) Constructor with custom storage supplier.GCSFileIO(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier, GCPProperties gcpProperties) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptioncom.google.cloud.storage.Storageclient()com.google.cloud.storage.Storagevoidclose()Close File IO to release underlying resources.voiddeleteFile(String path) Delete the file at the given path.voiddeleteFiles(Iterable<String> pathsToDelete) Delete the files at the given paths.voiddeletePrefix(String prefix) Delete all files under a prefix.voidinitialize(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 aInputFileinstance to read bytes from the file at the given path.newInputFile(String path, long length) Get aInputFileinstance to read bytes from the file at the given path, with a known file length.newOutputFile(String path) Get aOutputFileinstance to write bytes to the file at the given path.Returns the property map used to configure this FileIOvoidsetCredentials(List<StorageCredential> credentials) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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
Constructor with custom storage supplier.- Parameters:
storageSupplier- storage supplier
-
GCSFileIO
@Deprecated public GCSFileIO(SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier, GCPProperties gcpProperties) Deprecated.since 1.10.0, will be removed in 1.11.0; useGCSFileIO(SerializableSupplier)withinitialize(Map)insteadConstructor 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:FileIOGet aInputFileinstance to read bytes from the file at the given path.- Specified by:
newInputFilein interfaceFileIO
-
newInputFile
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
Description copied from interface:FileIOGet aOutputFileinstance to write bytes to the file at the given path.- Specified by:
newOutputFilein interfaceFileIO
-
deleteFile
Description copied from interface:FileIODelete the file at the given path.- Specified by:
deleteFilein interfaceFileIO
-
properties
Description copied from interface:FileIOReturns the property map used to configure this FileIO- Specified by:
propertiesin interfaceFileIO
-
client
public com.google.cloud.storage.Storage client() -
client
-
initialize
Description copied from interface:FileIOInitialize File IO from catalog properties.- Specified by:
initializein interfaceFileIO- Parameters:
props- 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.
-
listPrefix
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
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
-
deleteFiles
Description 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
-
setCredentials
- Specified by:
setCredentialsin interfaceSupportsStorageCredentials
-
credentials
- Specified by:
credentialsin interfaceSupportsStorageCredentials
-
GCSFileIO(SerializableSupplier)withinitialize(Map)instead