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,FileIO
public class GCSFileIO extends java.lang.Object implements FileIO
FileIO 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(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 voidclose()Close File IO to release underlying resources.voiddeleteFile(java.lang.String path)Delete the file at the given path.voidinitialize(java.util.Map<java.lang.String,java.lang.String> properties)Initialize File IO from catalog properties.InputFilenewInputFile(java.lang.String path)Get aInputFileinstance to read bytes from the file at the given path.OutputFilenewOutputFile(java.lang.String path)Get aOutputFileinstance 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
-
-
-
-
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(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 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
-
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
-
initialize
public void initialize(java.util.Map<java.lang.String,java.lang.String> properties)
Description copied from interface:FileIOInitialize File IO from catalog properties.- Specified by:
initializein interfaceFileIO- Parameters:
properties- 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.
-
-