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.

  • Method Details

    • deleteWith

      DeleteReachableFiles deleteWith(Consumer<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(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 by deleteWith(Consumer) or if the FileIO does not support bulk deletes. Otherwise, parallelism should be controlled by the IO specific deleteFiles method.
      Parameters:
      executorService - the service to use
      Returns:
      this for method chaining
    • io

      Set the FileIO to be used for files removal
      Parameters:
      io - FileIO to use for files removal
      Returns:
      this for method chaining