Class MetadataDirectGroupScan

All Implemented Interfaces:
Iterable<PhysicalOperator>, GraphValue<PhysicalOperator>, FragmentLeaf, GroupScan, HasAffinity, Leaf, PhysicalOperator, Scan

public class MetadataDirectGroupScan extends DirectGroupScan
Represents direct scan based on metadata information. For example, for parquet files it can be obtained from parquet footer (total row count) or from parquet metadata files (column counts). Contains reader, statistics and list of scanned files if present.
  • Constructor Details

    • MetadataDirectGroupScan

      public MetadataDirectGroupScan(RecordReader reader, org.apache.hadoop.fs.Path selectionRoot, int numFiles, ScanStats stats, boolean usedMetadataSummaryFile, boolean usedMetastore)
  • Method Details

    • getSelectionRoot

      public org.apache.hadoop.fs.Path getSelectionRoot()
      Description copied from interface: GroupScan
      Returns path to the selection root. If this GroupScan cannot provide selection root, it returns null.
      Specified by:
      getSelectionRoot in interface GroupScan
      Overrides:
      getSelectionRoot in class AbstractGroupScan
      Returns:
      path to the selection root
    • getNewWithChildren

      public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
      Description copied from interface: PhysicalOperator
      Regenerate with this node with a new set of children. This is used in the case of materialization or optimization.
      Specified by:
      getNewWithChildren in interface PhysicalOperator
      Overrides:
      getNewWithChildren in class DirectGroupScan
    • clone

      public GroupScan clone(List<SchemaPath> columns)
      Description copied from interface: GroupScan
      Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .
      Specified by:
      clone in interface GroupScan
      Overrides:
      clone in class DirectGroupScan
    • getDigest

      public String getDigest()

      Returns string representation of group scan data. Includes selection root, number of files, if metadata summary file was used, such data is present.

      Example: [selectionRoot = [/tmp/users], numFiles = 1, usedMetadataSummaryFile = false, usedMetastore = true]

      Specified by:
      getDigest in interface GroupScan
      Overrides:
      getDigest in class DirectGroupScan
      Returns:
      string representation of group scan data