protected abstract static class AbstractParquetGroupScan.RowGroupScanFilterer<B extends AbstractParquetGroupScan.RowGroupScanFilterer<B>> extends AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B>
Modifier and Type | Field and Description |
---|---|
protected org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,RowGroupMetadata> |
rowGroups |
context, files, filterExpression, limit, matchAllMetadata, nonInterestingColumnsMetadata, overflowLevel, partitions, segments, source, tableMetadata, tableSchema, udfUtilities
Constructor and Description |
---|
RowGroupScanFilterer(AbstractGroupScanWithMetadata<?> source) |
Modifier and Type | Method and Description |
---|---|
AbstractParquetGroupScan |
build()
Constructs required implementation of
AbstractGroupScanWithMetadata with filtered metadata. |
protected void |
filterFileMetadata(OptionManager optionManager,
FilterPredicate<?> filterPredicate,
Set<SchemaPath> schemaPathsInExpr)
Produces filtering of metadata at file level.
|
protected void |
filterRowGroupMetadata(OptionManager optionManager,
FilterPredicate<?> filterPredicate)
Produces filtering of metadata at row group level.
|
protected B |
getFiltered(OptionManager optionManager,
FilterPredicate<?> filterPredicate)
Produces filtering of metadata and returns
AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer
to construct resulting group scan. |
protected abstract AbstractParquetGroupScan |
getNewScan()
Returns new
AbstractParquetGroupScan instance to be populated with filtered metadata
from this AbstractParquetGroupScan.RowGroupScanFilterer instance. |
org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,RowGroupMetadata> |
getRowGroups() |
protected static <T extends BaseMetadata & LocationProvider> |
pruneForSegments(org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,T> metadataToPrune,
Map<org.apache.hadoop.fs.Path,SegmentMetadata> filteredSegmentMetadata)
Removes metadata which does not belong to any of segments in metadata list.
|
B |
rowGroups(org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,RowGroupMetadata> rowGroups) |
context, files, filterAndGetMetadata, filterExpression, filterPartitionMetadata, filterSegmentMetadata, filterTableMetadata, getFiles, getOverflowLevel, getPartitions, getSegments, getTableMetadata, isMatchAllMetadata, limit, matching, nonInterestingColumns, overflow, partitions, pruneForSegments, pruneForSegments, schema, segments, self, table, udfUtilities
protected org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,RowGroupMetadata> rowGroups
public RowGroupScanFilterer(AbstractGroupScanWithMetadata<?> source)
public B rowGroups(org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,RowGroupMetadata> rowGroups)
protected abstract AbstractParquetGroupScan getNewScan()
AbstractParquetGroupScan
instance to be populated with filtered metadata
from this AbstractParquetGroupScan.RowGroupScanFilterer
instance.AbstractParquetGroupScan
instancepublic org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,RowGroupMetadata> getRowGroups()
public AbstractParquetGroupScan build()
AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer
AbstractGroupScanWithMetadata
with filtered metadata.build
in class AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B extends AbstractParquetGroupScan.RowGroupScanFilterer<B>>
AbstractGroupScanWithMetadata
with filtered metadataprotected B getFiltered(OptionManager optionManager, FilterPredicate<?> filterPredicate)
AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer
AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer
to construct resulting group scan.getFiltered
in class AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B extends AbstractParquetGroupScan.RowGroupScanFilterer<B>>
optionManager
- option managerfilterPredicate
- filter expressionprotected void filterRowGroupMetadata(OptionManager optionManager, FilterPredicate<?> filterPredicate)
optionManager
- option managerfilterPredicate
- filter expressionprotected void filterFileMetadata(OptionManager optionManager, FilterPredicate<?> filterPredicate, Set<SchemaPath> schemaPathsInExpr)
filterFileMetadata
in class AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B extends AbstractParquetGroupScan.RowGroupScanFilterer<B>>
optionManager
- option managerfilterPredicate
- filter expressionschemaPathsInExpr
- columns used in filter expressionprotected static <T extends BaseMetadata & LocationProvider> org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,T> pruneForSegments(org.apache.drill.shaded.guava.com.google.common.collect.Multimap<org.apache.hadoop.fs.Path,T> metadataToPrune, Map<org.apache.hadoop.fs.Path,SegmentMetadata> filteredSegmentMetadata)
T
- type of metadata to filtermetadataToPrune
- list of metadata which should be prunedfilteredSegmentMetadata
- list of segment metadata which was prunedCopyright © 1970 The Apache Software Foundation. All rights reserved.