Package io.delta.storage
Class AzureLogStore
Object
io.delta.storage.LogStore
io.delta.storage.HadoopFileSystemLogStore
io.delta.storage.AzureLogStore
LogStore implementation for Azure.
We assume the following from Azure's [[FileSystem]] implementations:
- Rename without overwrite is atomic.
- List-after-write is consistent.
Regarding file creation, this implementation:
- Uses atomic rename when overwrite is false; if the destination file exists or the rename fails, throws an exception.
- Uses create-with-overwrite when overwrite is true. This does not make the file atomically visible and therefore the caller must handle partial files.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionisPartialWriteVisible(org.apache.hadoop.fs.Path path, org.apache.hadoop.conf.Configuration hadoopConf) :: DeveloperApi :: Whether a partial write is visible for the underlying file system of `path`.voidwrite(org.apache.hadoop.fs.Path path, Iterator<String> actions, Boolean overwrite, org.apache.hadoop.conf.Configuration hadoopConf) :: DeveloperApi :: Write the given `actions` to the given `path` with or without overwrite as indicated.Methods inherited from class io.delta.storage.HadoopFileSystemLogStore
listFrom, read, resolvePathOnPhysicalStorageMethods inherited from class io.delta.storage.LogStore
initHadoopConf
-
Constructor Details
-
AzureLogStore
public AzureLogStore(org.apache.hadoop.conf.Configuration hadoopConf)
-
-
Method Details
-
write
public void write(org.apache.hadoop.fs.Path path, Iterator<String> actions, Boolean overwrite, org.apache.hadoop.conf.Configuration hadoopConf) throws IOException Description copied from class:LogStore:: DeveloperApi :: Write the given `actions` to the given `path` with or without overwrite as indicated. Implementation must throwFileAlreadyExistsExceptionexception if the file already exists and overwrite = false. Furthermore, if isPartialWriteVisible returns false, implementation must ensure that the entire file is made visible atomically, that is, it should not generate partial files.- Specified by:
writein classLogStore- Throws:
IOException- if there's an issue resolving the FileSystemFileAlreadyExistsException- if the file already exists and overwrite is false
-
isPartialWriteVisible
public Boolean isPartialWriteVisible(org.apache.hadoop.fs.Path path, org.apache.hadoop.conf.Configuration hadoopConf) Description copied from class:LogStore:: DeveloperApi :: Whether a partial write is visible for the underlying file system of `path`.- Specified by:
isPartialWriteVisiblein classLogStore
-