public abstract class AbstractGroupScan extends AbstractBase implements GroupScan
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocationALL_COLUMNS, NO_COLUMN_STATSlogger| Constructor and Description |
|---|
AbstractGroupScan(AbstractGroupScan that) |
AbstractGroupScan(String userName) |
| Modifier and Type | Method and Description |
|---|---|
<T,X,E extends Throwable> |
accept(PhysicalVisitor<T,X,E> physicalVisitor,
X value)
Provides capability to build a set of output based on traversing a query graph tree.
|
GroupScan |
applyLimit(long maxRecords)
By default, return null to indicate rowcount based prune is not supported.
|
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.
|
long |
getColumnValueCount(SchemaPath column)
By default, throw exception, since group scan does not have exact column value count.
|
DistributionAffinity |
getDistributionAffinity()
Get distribution affinity which describes the parallelization strategy of the operator.
|
Collection<String> |
getFiles()
Returns a collection of file names associated with this GroupScan.
|
long |
getInitialAllocation() |
long |
getMaxAllocation() |
int |
getMinParallelizationWidth()
At minimum, the GroupScan requires these many fragments to run.
|
List<EndpointAffinity> |
getOperatorAffinity()
Get the list of Endpoints with associated affinities that this operator has preference for.
|
int |
getOperatorType() |
List<SchemaPath> |
getPartitionColumns()
Returns a list of columns that can be used for partition pruning
|
ScanStats |
getScanStats() |
ScanStats |
getScanStats(PlannerSettings settings) |
boolean |
hasFiles()
Return true if this GroupScan can return its selection as a list of file names (retrieved by getFiles()).
|
boolean |
isExecutable()
Describes whether or not a particular physical operator can actually be executed.
|
Iterator<PhysicalOperator> |
iterator() |
boolean |
supportsLimitPushdown()
Default is not to support limit pushdown.
|
boolean |
supportsPartitionFilterPushdown()
Whether or not this GroupScan supports pushdown of partition filters (directories for filesystems)
|
accept, getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitapplyAssignments, getDigest, getMaxParallelizationWidth, getSpecificScangetCost, getNewWithChildren, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorIdacceptpublic AbstractGroupScan(String userName)
public AbstractGroupScan(AbstractGroupScan that)
public Iterator<PhysicalOperator> iterator()
iterator in interface Iterable<PhysicalOperator>public List<EndpointAffinity> getOperatorAffinity()
HasAffinitygetOperatorAffinity in interface HasAffinitypublic boolean isExecutable()
PhysicalOperatorisExecutable in interface PhysicalOperatorisExecutable in class AbstractBasepublic <T,X,E extends Throwable> T accept(PhysicalVisitor<T,X,E> physicalVisitor, X value) throws E extends Throwable
PhysicalOperatoraccept in interface PhysicalOperatorE extends Throwablepublic GroupScan clone(List<SchemaPath> columns)
GroupScanpublic int getMinParallelizationWidth()
GroupScanSimpleParallelizergetMinParallelizationWidth in interface GroupScanpublic ScanStats getScanStats(PlannerSettings settings)
getScanStats in interface GroupScanpublic ScanStats getScanStats()
@Deprecated public boolean enforceWidth()
GroupScanExcessiveExchangeIdentifierenforceWidth in interface GroupScanpublic long getInitialAllocation()
getInitialAllocation in interface PhysicalOperatorgetInitialAllocation in class AbstractBasepublic long getMaxAllocation()
getMaxAllocation in interface PhysicalOperatorgetMaxAllocation in class AbstractBasepublic boolean canPushdownProjects(List<SchemaPath> columns)
GroupScancanPushdownProjects in interface GroupScanpublic boolean supportsPartitionFilterPushdown()
GroupScansupportsPartitionFilterPushdown in interface GroupScanpublic long getColumnValueCount(SchemaPath column)
getColumnValueCount in interface GroupScanpublic int getOperatorType()
getOperatorType in interface PhysicalOperatorpublic List<SchemaPath> getPartitionColumns()
GroupScangetPartitionColumns in interface GroupScanpublic boolean supportsLimitPushdown()
supportsLimitPushdown in interface GroupScanpublic GroupScan applyLimit(long maxRecords)
applyLimit in interface GroupScanmaxRecords - : the number of rows requested from group scan.public boolean hasFiles()
GroupScanpublic Collection<String> getFiles()
GroupScanpublic DistributionAffinity getDistributionAffinity()
HasAffinitygetDistributionAffinity in interface HasAffinityCopyright © 2017 The Apache Software Foundation. All rights reserved.