public abstract class AbstractGroupScan extends AbstractBase implements GroupScan
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
ALL_COLUMNS
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 |
applyFilter(LogicalExpression filterExpr,
UdfUtilities udfUtilities,
FunctionImplementationRegistry functionImplementationRegistry,
OptionManager optionManager) |
GroupScan |
applyLimit(int maxRecords)
By default, return null to indicate row count 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.
|
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)
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<org.apache.hadoop.fs.Path> |
getFiles()
Returns a collection of file names associated with this GroupScan.
|
LogicalExpression |
getFilter() |
long |
getInitialAllocation() |
long |
getMaxAllocation() |
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<EndpointAffinity> |
getOperatorAffinity()
Get the list of Endpoints with associated affinities that this operator has preference for.
|
String |
getOperatorType() |
List<SchemaPath> |
getPartitionColumns()
Returns a list of columns that can be used for partition pruning
|
ScanStats |
getScanStats() |
ScanStats |
getScanStats(PlannerSettings settings) |
ScanStats |
getScanStats(org.apache.calcite.rel.metadata.RelMetadataQuery mq) |
org.apache.hadoop.fs.Path |
getSelectionRoot()
Returns path to the selection root.
|
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 |
isExecutable()
Describes whether or not a particular physical operator can actually be executed.
|
Iterator<PhysicalOperator> |
iterator() |
boolean |
supportsFilterPushDown()
Checks whether this group scan supports filter push down.
|
boolean |
supportsLimitPushdown()
Default is not to support 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, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyAssignments, getDigest, getMaxParallelizationWidth, getSpecificScan
getCost, getNewWithChildren, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
accept
forEach, spliterator
public AbstractGroupScan(String userName)
public AbstractGroupScan(AbstractGroupScan that)
public Iterator<PhysicalOperator> iterator()
iterator
in interface Iterable<PhysicalOperator>
public List<EndpointAffinity> getOperatorAffinity()
HasAffinity
getOperatorAffinity
in interface HasAffinity
public boolean isExecutable()
PhysicalOperator
isExecutable
in interface PhysicalOperator
isExecutable
in class AbstractBase
public <T,X,E extends Throwable> T accept(PhysicalVisitor<T,X,E> physicalVisitor, X value) throws E extends Throwable
PhysicalOperator
accept
in interface PhysicalOperator
E extends Throwable
public GroupScan clone(List<SchemaPath> columns)
GroupScan
public boolean isDistributed()
isDistributed
in interface GroupScan
public int getMinParallelizationWidth()
GroupScan
SimpleParallelizer
getMinParallelizationWidth
in interface GroupScan
public ScanStats getScanStats(PlannerSettings settings)
getScanStats
in interface GroupScan
public ScanStats getScanStats(org.apache.calcite.rel.metadata.RelMetadataQuery mq)
getScanStats
in interface GroupScan
public ScanStats getScanStats()
@Deprecated public boolean enforceWidth()
GroupScan
ExcessiveExchangeIdentifier
enforceWidth
in interface GroupScan
public long getInitialAllocation()
getInitialAllocation
in interface PhysicalOperator
getInitialAllocation
in class AbstractBase
public long getMaxAllocation()
getMaxAllocation
in interface PhysicalOperator
getMaxAllocation
in class AbstractBase
public boolean canPushdownProjects(List<SchemaPath> columns)
GroupScan
canPushdownProjects
in interface GroupScan
public boolean supportsPartitionFilterPushdown()
GroupScan
supportsPartitionFilterPushdown
in interface GroupScan
public long getColumnValueCount(SchemaPath column)
getColumnValueCount
in interface GroupScan
public String getOperatorType()
getOperatorType
in interface PhysicalOperator
public List<SchemaPath> getColumns()
GroupScan
getColumns
in interface GroupScan
public List<SchemaPath> getPartitionColumns()
GroupScan
getPartitionColumns
in interface GroupScan
public boolean supportsLimitPushdown()
supportsLimitPushdown
in interface GroupScan
public GroupScan applyLimit(int maxRecords)
applyLimit
in interface GroupScan
maxRecords
- : the number of rows requested from group scan.public boolean hasFiles()
GroupScan
public org.apache.hadoop.fs.Path getSelectionRoot()
GroupScan
getSelectionRoot
in interface GroupScan
public Collection<org.apache.hadoop.fs.Path> getFiles()
GroupScan
public DistributionAffinity getDistributionAffinity()
HasAffinity
getDistributionAffinity
in interface HasAffinity
public LogicalExpression getFilter()
public GroupScan applyFilter(LogicalExpression filterExpr, UdfUtilities udfUtilities, FunctionImplementationRegistry functionImplementationRegistry, OptionManager optionManager)
applyFilter
in interface GroupScan
public TableMetadataProvider getMetadataProvider()
GroupScan
TableMetadataProvider
instance which is used for providing metadata for current GroupScan
.getMetadataProvider
in interface GroupScan
TableMetadataProvider
instance the source of metadatapublic TableMetadata getTableMetadata()
getTableMetadata
in interface GroupScan
public boolean usedMetastore()
GroupScan
true
if current group scan uses metadata obtained from the Metastore.usedMetastore
in interface GroupScan
true
if current group scan uses metadata obtained from the Metastore, false
otherwise.public AnalyzeInfoProvider getAnalyzeInfoProvider()
GroupScan
AnalyzeInfoProvider
instance which will be used when running ANALYZE statement.getAnalyzeInfoProvider
in interface GroupScan
AnalyzeInfoProvider
instancepublic boolean supportsFilterPushDown()
GroupScan
supportsFilterPushDown
in interface GroupScan
true
if this group scan supports filter push down,
false
otherwiseCopyright © 1970 The Apache Software Foundation. All rights reserved.