Interface FileIO

All Superinterfaces:
AutoCloseable, Closeable, Serializable
All Known Subinterfaces:
DelegateFileIO, SupportsBulkOperations, SupportsPrefixOperations
All Known Implementing Classes:
ADLSFileIO, EcsFileIO, EncryptingFileIO, GCSFileIO, HadoopFileIO, InMemoryFileIO, OSSFileIO, ResolvingFileIO, S3FileIO

public interface FileIO extends Serializable, Closeable
Pluggable module for reading, writing, and deleting files.

Both table metadata files and data files can be written and read by this module. Implementations must be serializable because various clients of Spark tables may initialize this once and pass it off to a separate module that would then interact with the streams.

  • Method Details

    • newInputFile

      InputFile newInputFile(String path)
      Get a InputFile instance to read bytes from the file at the given path.
    • newInputFile

      default InputFile newInputFile(String path, long length)
      Get a InputFile instance to read bytes from the file at the given path, with a known file length.
    • newInputFile

      default InputFile newInputFile(DataFile file)
    • newInputFile

      default InputFile newInputFile(DeleteFile file)
    • newInputFile

      default InputFile newInputFile(ManifestFile manifest)
    • newOutputFile

      OutputFile newOutputFile(String path)
      Get a OutputFile instance to write bytes to the file at the given path.
    • deleteFile

      void deleteFile(String path)
      Delete the file at the given path.
    • deleteFile

      default void deleteFile(InputFile file)
      Convenience method to delete an InputFile.
    • deleteFile

      default void deleteFile(OutputFile file)
      Convenience method to delete an OutputFile.
    • properties

      default Map<String,String> properties()
      Returns the property map used to configure this FileIO
      Throws:
      UnsupportedOperationException - if this FileIO does not expose its configuration properties
    • initialize

      default void initialize(Map<String,String> properties)
      Initialize File IO from catalog properties.
      Parameters:
      properties - catalog properties
    • close

      default void close()
      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.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable