public class SystemTableScan extends AbstractGroupScan implements SubScan
Modifier and Type | Field and Description |
---|---|
static String |
OPERATOR_TYPE |
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
ALL_COLUMNS
Constructor and Description |
---|
SystemTableScan(SystemTable table,
int maxRecordsToRead,
StoragePluginRegistry engineRegistry) |
SystemTableScan(SystemTable table,
int maxRecordsToRead,
SystemTablePlugin plugin) |
SystemTableScan(SystemTable table,
SystemTablePlugin plugin) |
Modifier and Type | Method and Description |
---|---|
void |
applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) |
GroupScan |
applyLimit(int maxRecords)
By default, return null to indicate row count based prune is not supported.
|
GroupScan |
clone(List<SchemaPath> columns)
Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .
|
GroupScan |
clone(SystemTableScan systemTableScan,
int maxRecordsToRead) |
List<SchemaPath> |
getColumns()
Returns a list of columns scanned by this group scan
|
String |
getDigest()
Example: SystemTableScan [table=OPTION, distributed=false, maxRecordsToRead=1]
|
DistributionAffinity |
getDistributionAffinity()
Get distribution affinity which describes the parallelization strategy of the operator.
|
long |
getInitialAllocation() |
long |
getMaxAllocation() |
int |
getMaxParallelizationWidth() |
int |
getMaxRecordsToRead() |
int |
getMinParallelizationWidth()
At minimum, the GroupScan requires these many fragments to run.
|
PhysicalOperator |
getNewWithChildren(List<PhysicalOperator> children)
Regenerate with this node with a new set of children.
|
List<EndpointAffinity> |
getOperatorAffinity()
If distributed, the scan needs to happen on every node.
|
String |
getOperatorType() |
SystemTablePlugin |
getPlugin() |
ScanStats |
getScanStats()
System tables do not need stats.
|
SubScan |
getSpecificScan(int minorFragmentId) |
SystemTable |
getTable() |
boolean |
supportsLimitPushdown()
Default is not to support limit pushdown.
|
accept, applyFilter, canPushdownProjects, enforceWidth, getAnalyzeInfoProvider, getColumnValueCount, getFiles, getFilter, getMetadataProvider, getPartitionColumns, getScanStats, getScanStats, getSelectionRoot, getTableMetadata, hasFiles, isDistributed, isExecutable, iterator, supportsFilterPushDown, supportsPartitionFilterPushdown, usedMetastore
accept, getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
accept, getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
accept
forEach, iterator, spliterator
public static final String OPERATOR_TYPE
public SystemTableScan(SystemTable table, int maxRecordsToRead, StoragePluginRegistry engineRegistry) throws ExecutionSetupException
ExecutionSetupException
public SystemTableScan(SystemTable table, SystemTablePlugin plugin)
public SystemTableScan(SystemTable table, int maxRecordsToRead, SystemTablePlugin plugin)
public ScanStats getScanStats()
getScanStats
in class AbstractGroupScan
public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
PhysicalOperator
getNewWithChildren
in interface PhysicalOperator
public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints)
applyAssignments
in interface GroupScan
public List<SchemaPath> getColumns()
GroupScan
getColumns
in interface GroupScan
getColumns
in class AbstractGroupScan
public SubScan getSpecificScan(int minorFragmentId)
getSpecificScan
in interface GroupScan
public int getMaxParallelizationWidth()
getMaxParallelizationWidth
in interface GroupScan
public int getMinParallelizationWidth()
GroupScan
SimpleParallelizer
getMinParallelizationWidth
in interface GroupScan
getMinParallelizationWidth
in class AbstractGroupScan
public long getInitialAllocation()
getInitialAllocation
in interface PhysicalOperator
getInitialAllocation
in class AbstractGroupScan
public long getMaxAllocation()
getMaxAllocation
in interface PhysicalOperator
getMaxAllocation
in class AbstractGroupScan
public String getDigest()
public String getOperatorType()
getOperatorType
in interface PhysicalOperator
getOperatorType
in class AbstractGroupScan
public List<EndpointAffinity> getOperatorAffinity()
getOperatorAffinity
in interface HasAffinity
getOperatorAffinity
in class AbstractGroupScan
public DistributionAffinity getDistributionAffinity()
HasAffinity
getDistributionAffinity
in interface HasAffinity
getDistributionAffinity
in class AbstractGroupScan
public GroupScan clone(List<SchemaPath> columns)
GroupScan
clone
in interface GroupScan
clone
in class AbstractGroupScan
public GroupScan clone(SystemTableScan systemTableScan, int maxRecordsToRead)
public boolean supportsLimitPushdown()
AbstractGroupScan
supportsLimitPushdown
in interface GroupScan
supportsLimitPushdown
in class AbstractGroupScan
public GroupScan applyLimit(int maxRecords)
AbstractGroupScan
applyLimit
in interface GroupScan
applyLimit
in class AbstractGroupScan
maxRecords
- : the number of rows requested from group scan.public SystemTable getTable()
public int getMaxRecordsToRead()
public SystemTablePlugin getPlugin()
Copyright © 1970 The Apache Software Foundation. All rights reserved.