Class HadoopViewOperations

java.lang.Object
org.apache.iceberg.viewdepoc.HadoopViewOperations
All Implemented Interfaces:
ViewOperations

public class HadoopViewOperations extends Object implements ViewOperations
The Views implementation Based on FileIO.
  • Constructor Details

    • HadoopViewOperations

      protected HadoopViewOperations(org.apache.hadoop.fs.Path location, org.apache.hadoop.conf.Configuration conf)
  • Method Details

    • current

      public ViewVersionMetadata current()
      Description copied from interface: ViewOperations
      Return the currently loaded view metadata, without checking for updates.
      Specified by:
      current in interface ViewOperations
      Returns:
      view version metadata
    • refresh

      public ViewVersionMetadata refresh()
      Description copied from interface: ViewOperations
      Return the current view metadata after checking for updates.
      Specified by:
      refresh in interface ViewOperations
      Returns:
      view version metadata
    • io

      public org.apache.iceberg.io.FileIO io()
      Description copied from interface: ViewOperations
      A FileIO to read and write table data and metadata files.
      Specified by:
      io in interface ViewOperations
      Returns:
      a FileIO to read and write table data and metadata files
    • commit

      public void commit(ViewVersionMetadata base, ViewVersionMetadata metadata, Map<String,String> properties)
      Description copied from interface: ViewOperations
      Replace the base metadata with a new version.

      This method should implement and document atomicity guarantees.

      Implementations must check that the base metadata is current to avoid overwriting updates. Once the atomic commit operation succeeds, implementations must not perform any operations that may fail because failure in this method cannot be distinguished from commit failure.

      Specified by:
      commit in interface ViewOperations
      Parameters:
      base - view metadata on which changes were based
      metadata - new view metadata with updates
      properties - Version property genie-id of the operation, as well as table properties such as owner, table type, common view flag etc.
    • drop

      public void drop(String location)
      Description copied from interface: ViewOperations
      Drops the view specified by the 'viewIdentifier' parameter. Used only by the test infrastructure such as HadoopViewOperations and TestViews. Metacat views are dropped using direct hive 'drop' object calls.
      Specified by:
      drop in interface ViewOperations
      Parameters:
      location - specifies the name/location of the view.
    • getFS

      public static org.apache.hadoop.fs.FileSystem getFS(org.apache.hadoop.fs.Path path, org.apache.hadoop.conf.Configuration conf)