public interface GroupScan extends Scan, HasAffinity
Modifier and Type | Field and Description |
---|---|
static List<SchemaPath> |
ALL_COLUMNS
columns list in GroupScan : 1) empty_column is for skipAll query.
|
Modifier and Type | Method and Description |
---|---|
void |
applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) |
GroupScan |
applyFilter(LogicalExpression filterExpr,
UdfUtilities udfUtilities,
FunctionImplementationRegistry functionImplementationRegistry,
OptionManager optionManager) |
GroupScan |
applyLimit(int maxRecords)
Apply rowcount based prune for "LIMIT n" query.
|
boolean |
canPushdownProjects(List<SchemaPath> columns)
GroupScan should check the list of columns, and see if it could support all the columns in the list.
|
GroupScan |
clone(List<SchemaPath> columns)
Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .
|
boolean |
enforceWidth()
Deprecated.
Use
getMinParallelizationWidth() to determine whether this GroupScan spans more than one
fragment. |
AnalyzeInfoProvider |
getAnalyzeInfoProvider()
Returns
AnalyzeInfoProvider instance which will be used when running ANALYZE statement. |
List<SchemaPath> |
getColumns()
Returns a list of columns scanned by this group scan
|
long |
getColumnValueCount(SchemaPath column)
Return the number of non-null value in the specified column.
|
String |
getDigest()
Returns a signature of the
GroupScan which should usually be composed of
all its attributes which could describe it uniquely. |
Collection<org.apache.hadoop.fs.Path> |
getFiles()
Returns a collection of file names associated with this GroupScan.
|
LogicalExpression |
getFilter() |
int |
getMaxParallelizationWidth() |
TableMetadataProvider |
getMetadataProvider()
Returns
TableMetadataProvider instance which is used for providing metadata for current GroupScan . |
int |
getMinParallelizationWidth()
At minimum, the GroupScan requires these many fragments to run.
|
List<SchemaPath> |
getPartitionColumns()
Returns a list of columns that can be used for partition pruning
|
ScanStats |
getScanStats(PlannerSettings settings) |
org.apache.hadoop.fs.Path |
getSelectionRoot()
Returns path to the selection root.
|
SubScan |
getSpecificScan(int minorFragmentId) |
TableMetadata |
getTableMetadata() |
boolean |
hasFiles()
Return true if this GroupScan can return its selection as a list of file names (retrieved by getFiles()).
|
boolean |
isDistributed() |
boolean |
supportsFilterPushDown()
Checks whether this group scan supports filter push down.
|
boolean |
supportsLimitPushdown()
Whether or not this GroupScan supports limit pushdown
|
boolean |
supportsPartitionFilterPushdown()
Whether or not this GroupScan supports pushdown of partition filters (directories for filesystems)
|
boolean |
usedMetastore()
Returns
true if current group scan uses metadata obtained from the Metastore. |
accept, getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getOperatorType, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
accept
forEach, iterator, spliterator
getDistributionAffinity, getOperatorAffinity
static final List<SchemaPath> ALL_COLUMNS
void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) throws PhysicalOperatorSetupException
PhysicalOperatorSetupException
SubScan getSpecificScan(int minorFragmentId) throws ExecutionSetupException
ExecutionSetupException
int getMaxParallelizationWidth()
boolean isDistributed()
int getMinParallelizationWidth()
SimpleParallelizer
@Deprecated boolean enforceWidth()
getMinParallelizationWidth()
to determine whether this GroupScan spans more than one
fragment.ExcessiveExchangeIdentifier
String getDigest()
GroupScan
which should usually be composed of
all its attributes which could describe it uniquely.ScanStats getScanStats(PlannerSettings settings)
GroupScan clone(List<SchemaPath> columns)
boolean canPushdownProjects(List<SchemaPath> columns)
long getColumnValueCount(SchemaPath column)
boolean supportsPartitionFilterPushdown()
List<SchemaPath> getColumns()
List<SchemaPath> getPartitionColumns()
boolean supportsLimitPushdown()
GroupScan applyLimit(int maxRecords)
maxRecords
- : the number of rows requested from group scan.boolean hasFiles()
org.apache.hadoop.fs.Path getSelectionRoot()
Collection<org.apache.hadoop.fs.Path> getFiles()
LogicalExpression getFilter()
GroupScan applyFilter(LogicalExpression filterExpr, UdfUtilities udfUtilities, FunctionImplementationRegistry functionImplementationRegistry, OptionManager optionManager)
TableMetadataProvider getMetadataProvider()
TableMetadataProvider
instance which is used for providing metadata for current GroupScan
.TableMetadataProvider
instance the source of metadataTableMetadata getTableMetadata()
boolean usedMetastore()
true
if current group scan uses metadata obtained from the Metastore.true
if current group scan uses metadata obtained from the Metastore, false
otherwise.AnalyzeInfoProvider getAnalyzeInfoProvider()
AnalyzeInfoProvider
instance which will be used when running ANALYZE statement.AnalyzeInfoProvider
instanceboolean supportsFilterPushDown()
true
if this group scan supports filter push down,
false
otherwiseCopyright © 2021 The Apache Software Foundation. All rights reserved.