Class NonInterestingColumnsMetadata

java.lang.Object
org.apache.drill.metastore.metadata.NonInterestingColumnsMetadata
All Implemented Interfaces:
Metadata

public class NonInterestingColumnsMetadata extends Object implements Metadata
Represents a metadata for the non-interesting columns. Since the refresh command doesn't store the non-interesting columns stats in the cache file, there is a need to mark column statistics of non-interesting as unknown to differentiate the non-interesting columns from non-existent columns. Since the sole purpose of this class is to store column statistics for non-interesting columns, some methods like getSchema, get, getColumn are not applicable to NonInterestingColumnsMetadata.
  • Constructor Details

  • Method Details

    • getColumnsStatistics

      public Map<SchemaPath,ColumnStatistics<?>> getColumnsStatistics()
      Description copied from interface: Metadata
      Returns statistics stored in current metadata represented as Map of column SchemaPaths and corresponding ColumnStatistics.
      Specified by:
      getColumnsStatistics in interface Metadata
      Returns:
      statistics stored in current metadata
    • getColumnStatistics

      public ColumnStatistics<?> getColumnStatistics(SchemaPath columnName)
      Description copied from interface: Metadata
      Returns statistics for specified column stored in current metadata.
      Specified by:
      getColumnStatistics in interface Metadata
      Parameters:
      columnName - column whose statistics should be returned
      Returns:
      statistics for specified column
    • getSchema

      public TupleMetadata getSchema()
      Description copied from interface: Metadata
      Returns schema stored in current metadata represented as TupleMetadata.
      Specified by:
      getSchema in interface Metadata
      Returns:
      schema stored in current metadata
    • getStatistic

      public <V> V getStatistic(StatisticsKind<V> statisticsKind)
      Description copied from interface: Metadata
      Returns value of non-column statistics which corresponds to specified StatisticsKind.
      Specified by:
      getStatistic in interface Metadata
      Parameters:
      statisticsKind - statistics kind whose value should be returned
      Returns:
      value of non-column statistics
    • containsExactStatistics

      public boolean containsExactStatistics(StatisticsKind<?> statisticsKind)
      Description copied from interface: Metadata
      Checks whether specified statistics kind is set in this non-column statistics and it corresponds to the exact statistics value.
      Specified by:
      containsExactStatistics in interface Metadata
      Parameters:
      statisticsKind - statistics kind to check
      Returns:
      true if value which corresponds to the specified statistics kind is exact
    • getStatisticsForColumn

      public <V> V getStatisticsForColumn(SchemaPath columnName, StatisticsKind<V> statisticsKind)
      Description copied from interface: Metadata
      Returns value of column statistics which corresponds to specified StatisticsKind for column with specified columnName.
      Specified by:
      getStatisticsForColumn in interface Metadata
      Parameters:
      columnName - name of the column
      statisticsKind - statistics kind whose value should be returned
      Returns:
      value of column statistics
    • getColumn

      public ColumnMetadata getColumn(SchemaPath name)
      Description copied from interface: Metadata
      Returns metadata description for the specified column
      Specified by:
      getColumn in interface Metadata
      Parameters:
      name - column name, whose metadata type info should be returned
      Returns:
      ColumnMetadata schema description of the column
    • getTableInfo

      public TableInfo getTableInfo()
      Specified by:
      getTableInfo in interface Metadata
    • getMetadataInfo

      public MetadataInfo getMetadataInfo()
      Specified by:
      getMetadataInfo in interface Metadata
    • toMetadataUnit

      public TableMetadataUnit toMetadataUnit()
      Description copied from interface: Metadata
      Converts Metadata implementation into TableMetadataUnit instance which will be used to write data into Drill Metastore Tables.
      Specified by:
      toMetadataUnit in interface Metadata
      Returns:
      metadata unit instance