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 interfaceDeleteReachableFiles.ResultThe action result that contains a summary of the execution.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DeleteReachableFilesdeleteWith(java.util.function.Consumer<java.lang.String> deleteFunc)Passes an alternative delete implementation that will be used for files.DeleteReachableFilesexecuteDeleteWith(java.util.concurrent.ExecutorService executorService)Passes an alternative executor service that will be used for files removal.DeleteReachableFilesio(FileIO io)Set theFileIOto 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 specificdeleteFilesmethod.- Parameters:
executorService- the service to use- Returns:
- this for method chaining
-
io
DeleteReachableFiles io(FileIO io)
Set theFileIOto be used for files removal- Parameters:
io- FileIO to use for files removal- Returns:
- this for method chaining
-
-