Class MetastoreFileTableMetadataProvider
java.lang.Object
org.apache.drill.exec.metastore.store.MetastoreFileTableMetadataProvider
- All Implemented Interfaces:
TableMetadataProvider
- Direct Known Subclasses:
MetastoreParquetTableMetadataProvider
Implementation of
TableMetadataProvider which uses Drill Metastore for providing table metadata
for file-based tables.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BasicTablesRequestsprotected final TableMetadataProviderBuilderprotected final booleanprotected Map<org.apache.hadoop.fs.Path, FileMetadata> protected final MetastoreTableInfoprotected List<PartitionMetadata> protected final TupleMetadataprotected Map<org.apache.hadoop.fs.Path, SegmentMetadata> protected final DrillStatsTableprotected final TableInfoprotected BaseTableMetadataprotected final booleanprotected final boolean -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether metadata actuality should be checked.getFileMetadata(org.apache.hadoop.fs.Path location) ReturnsFileMetadatainstance which corresponds to metadata of file for specified location.getFilesForPartition(PartitionMetadata partition) Returns list ofFileMetadatainstances which belongs to specified partitions.Map<org.apache.hadoop.fs.Path, FileMetadata> Returns map ofFileMetadatainstances which provides metadata for specific file and its columns.ReturnsNonInterestingColumnsMetadatainstance which provides metadata for non-interesting columns.Returns list of partition columns for table from thisTableMetadataProvider.getPartitionMetadata(SchemaPath columnName) Returns list ofPartitionMetadatainstances which corresponds to partitions for specified column and provides metadata for specific partitions and its columns.Returns list ofPartitionMetadatainstances which provides metadata for specific partitions and its columns.Map<org.apache.hadoop.fs.Path, SegmentMetadata> Returns map ofSegmentMetadatainstances which provides metadata for segment and its columns.ReturnsTableMetadatainstance which provides metadata for table and columns metadata.protected void
-
Field Details
-
basicTablesRequests
-
tableInfo
-
metastoreTableInfo
-
schema
-
paths
-
statsProvider
-
fallbackBuilder
-
useSchema
protected final boolean useSchema -
useStatistics
protected final boolean useStatistics -
fallbackToFileMetadata
protected final boolean fallbackToFileMetadata -
tableMetadata
-
segmentsMetadata
-
partitions
-
files
-
-
Constructor Details
-
MetastoreFileTableMetadataProvider
-
-
Method Details
-
throwIfChanged
protected void throwIfChanged() -
getTableMetadata
Description copied from interface:TableMetadataProviderReturnsTableMetadatainstance which provides metadata for table and columns metadata.- Specified by:
getTableMetadatain interfaceTableMetadataProvider- Returns:
TableMetadatainstance
-
getPartitionColumns
Description copied from interface:TableMetadataProviderReturns list of partition columns for table from thisTableMetadataProvider.- Specified by:
getPartitionColumnsin interfaceTableMetadataProvider- Returns:
- list of partition columns
-
getPartitionsMetadata
Description copied from interface:TableMetadataProviderReturns list ofPartitionMetadatainstances which provides metadata for specific partitions and its columns.- Specified by:
getPartitionsMetadatain interfaceTableMetadataProvider- Returns:
- list of
PartitionMetadatainstances
-
getPartitionMetadata
Description copied from interface:TableMetadataProviderReturns list ofPartitionMetadatainstances which corresponds to partitions for specified column and provides metadata for specific partitions and its columns.- Specified by:
getPartitionMetadatain interfaceTableMetadataProvider- Returns:
- list of
PartitionMetadatainstances which corresponds to partitions for specified column
-
getFilesMetadataMap
Description copied from interface:TableMetadataProviderReturns map ofFileMetadatainstances which provides metadata for specific file and its columns.- Specified by:
getFilesMetadataMapin interfaceTableMetadataProvider- Returns:
- map of
FileMetadatainstances
-
getSegmentsMetadataMap
Description copied from interface:TableMetadataProviderReturns map ofSegmentMetadatainstances which provides metadata for segment and its columns.- Specified by:
getSegmentsMetadataMapin interfaceTableMetadataProvider- Returns:
- map of
SegmentMetadatainstances
-
getFileMetadata
Description copied from interface:TableMetadataProviderReturnsFileMetadatainstance which corresponds to metadata of file for specified location.- Specified by:
getFileMetadatain interfaceTableMetadataProvider- Parameters:
location- location of the file- Returns:
FileMetadatainstance which corresponds to metadata of file for specified location
-
getFilesForPartition
Description copied from interface:TableMetadataProviderReturns list ofFileMetadatainstances which belongs to specified partitions.- Specified by:
getFilesForPartitionin interfaceTableMetadataProvider- Parameters:
partition- partition which- Returns:
- list of
FileMetadatainstances which belongs to specified partitions
-
getNonInterestingColumnsMetadata
Description copied from interface:TableMetadataProviderReturnsNonInterestingColumnsMetadatainstance which provides metadata for non-interesting columns.- Specified by:
getNonInterestingColumnsMetadatain interfaceTableMetadataProvider- Returns:
NonInterestingColumnsMetadatainstance
-
checkMetadataVersion
public boolean checkMetadataVersion()Description copied from interface:TableMetadataProviderWhether metadata actuality should be checked.- Specified by:
checkMetadataVersionin interfaceTableMetadataProvider- Returns:
- true if metadata actuality should be checked
-