Package org.apache.iceberg.actions
Interface DeleteReachableFiles
-
- All Superinterfaces:
Action<DeleteReachableFiles,DeleteReachableFiles.Result>
- All Known Implementing Classes:
DeleteReachableFilesSparkAction
public interface DeleteReachableFiles extends Action<DeleteReachableFiles,DeleteReachableFiles.Result>
An action that deletes all files referenced by a table metadata file.This action will irreversibly delete all reachable files such as data files, manifests, manifest lists and should be used to clean up the underlying storage once a table is dropped and no longer needed.
Implementations may use a query engine to distribute parts of work.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
DeleteReachableFiles.Result
The action result that contains a summary of the execution.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DeleteReachableFiles
deleteWith(java.util.function.Consumer<java.lang.String> deleteFunc)
Passes an alternative delete implementation that will be used for files.DeleteReachableFiles
executeDeleteWith(java.util.concurrent.ExecutorService executorService)
Passes an alternative executor service that will be used for files removal.DeleteReachableFiles
io(FileIO io)
Set theFileIO
to be used for files removal
-
-
-
Method Detail
-
deleteWith
DeleteReachableFiles deleteWith(java.util.function.Consumer<java.lang.String> deleteFunc)
Passes an alternative delete implementation that will be used for files.- Parameters:
deleteFunc
- a function that will be called to delete files. The function accepts path to file as an argument.- Returns:
- this for method chaining
-
executeDeleteWith
DeleteReachableFiles executeDeleteWith(java.util.concurrent.ExecutorService executorService)
Passes an alternative executor service that will be used for files removal. This service will only be used if a custom delete function is provided bydeleteWith(Consumer)
or if the FileIO does notsupport bulk deletes
. Otherwise, parallelism should be controlled by the IO specificdeleteFiles
method.- Parameters:
executorService
- the service to use- Returns:
- this for method chaining
-
io
DeleteReachableFiles io(FileIO io)
Set theFileIO
to be used for files removal- Parameters:
io
- FileIO to use for files removal- Returns:
- this for method chaining
-
-