Package org.apache.iceberg.gcp.gcs
Class GCSFileIO
- java.lang.Object
-
- org.apache.iceberg.gcp.gcs.GCSFileIO
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Serializable,java.lang.AutoCloseable,org.apache.iceberg.io.DelegateFileIO,org.apache.iceberg.io.FileIO,org.apache.iceberg.io.SupportsBulkOperations,org.apache.iceberg.io.SupportsPrefixOperations
public class GCSFileIO extends java.lang.Object implements org.apache.iceberg.io.DelegateFileIOFileIO Implementation backed by Google Cloud Storage (GCS)Locations follow the conventions used by
BlobId.fromGsUtilUrithat follow the conventiongs://<bucket>/<blob_path>- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GCSFileIO()No-arg constructor to load the FileIO dynamically.GCSFileIO(org.apache.iceberg.util.SerializableSupplier<com.google.cloud.storage.Storage> storageSupplier, GCPProperties gcpProperties)Constructor with custom storage supplier and GCP properties.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.cloud.storage.Storageclient()voidclose()voiddeleteFile(java.lang.String path)voiddeleteFiles(java.lang.Iterable<java.lang.String> pathsToDelete)voiddeletePrefix(java.lang.String prefix)voidinitialize(java.util.Map<java.lang.String,java.lang.String> props)java.lang.Iterable<org.apache.iceberg.io.FileInfo>listPrefix(java.lang.String prefix)org.apache.iceberg.io.InputFilenewInputFile(java.lang.String path)org.apache.iceberg.io.InputFilenewInputFile(java.lang.String path, long length)org.apache.iceberg.io.OutputFilenewOutputFile(java.lang.String path)java.util.Map<java.lang.String,java.lang.String>properties()
-
-
-
Constructor Detail
-
GCSFileIO
public GCSFileIO()
No-arg constructor to load the FileIO dynamically.All fields are initialized by calling
initialize(Map)later.
-
GCSFileIO
public GCSFileIO(org.apache.iceberg.util.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 Detail
-
newInputFile
public org.apache.iceberg.io.InputFile newInputFile(java.lang.String path)
- Specified by:
newInputFilein interfaceorg.apache.iceberg.io.FileIO
-
newInputFile
public org.apache.iceberg.io.InputFile newInputFile(java.lang.String path, long length)- Specified by:
newInputFilein interfaceorg.apache.iceberg.io.FileIO
-
newOutputFile
public org.apache.iceberg.io.OutputFile newOutputFile(java.lang.String path)
- Specified by:
newOutputFilein interfaceorg.apache.iceberg.io.FileIO
-
deleteFile
public void deleteFile(java.lang.String path)
- Specified by:
deleteFilein interfaceorg.apache.iceberg.io.FileIO
-
properties
public java.util.Map<java.lang.String,java.lang.String> properties()
- Specified by:
propertiesin interfaceorg.apache.iceberg.io.FileIO
-
client
public com.google.cloud.storage.Storage client()
-
initialize
public void initialize(java.util.Map<java.lang.String,java.lang.String> props)
- Specified by:
initializein interfaceorg.apache.iceberg.io.FileIO
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceorg.apache.iceberg.io.FileIO
-
listPrefix
public java.lang.Iterable<org.apache.iceberg.io.FileInfo> listPrefix(java.lang.String prefix)
- Specified by:
listPrefixin interfaceorg.apache.iceberg.io.SupportsPrefixOperations
-
deletePrefix
public void deletePrefix(java.lang.String prefix)
- Specified by:
deletePrefixin interfaceorg.apache.iceberg.io.SupportsPrefixOperations
-
deleteFiles
public void deleteFiles(java.lang.Iterable<java.lang.String> pathsToDelete) throws org.apache.iceberg.io.BulkDeletionFailureException- Specified by:
deleteFilesin interfaceorg.apache.iceberg.io.SupportsBulkOperations- Throws:
org.apache.iceberg.io.BulkDeletionFailureException
-
-