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.
|
static long |
NO_COLUMN_STATS |
logger
Modifier and Type | Method and Description |
---|---|
void |
applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) |
GroupScan |
applyLimit(long 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. |
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<String> |
getFiles()
Returns a collection of file names associated with this GroupScan.
|
int |
getMaxParallelizationWidth() |
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) |
SubScan |
getSpecificScan(int minorFragmentId) |
boolean |
hasFiles()
Return true if this GroupScan can return its selection as a list of file names (retrieved by getFiles()).
|
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)
|
accept, getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getOperatorType, getSVMode, getUserName, isExecutable, setCost, setOperatorId
accept
getOperatorAffinity
static final List<SchemaPath> ALL_COLUMNS
static final long NO_COLUMN_STATS
void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) throws PhysicalOperatorSetupException
PhysicalOperatorSetupException
SubScan getSpecificScan(int minorFragmentId) throws ExecutionSetupException
ExecutionSetupException
int getMaxParallelizationWidth()
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> getPartitionColumns()
boolean supportsLimitPushdown()
GroupScan applyLimit(long maxRecords)
maxRecords
- : the number of rows requested from group scan.boolean hasFiles()
Collection<String> getFiles()
Copyright © 2016 The Apache Software Foundation. All rights reserved.