public class MongoGroupScan extends AbstractGroupScan implements DrillMongoConstants
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
CHUNKS, CONFIG, COUNT, DATABASES, HOST, ID, MAX, MIN, NS, PARTITIONED, PASSWORD_CONFIG_SUFFIX, PRIMARY, SHARD, SHARDS, SIZE, STORE_CONFIG_PREFIX, SYS_STORE_PROVIDER_MONGO_URL, USERNAME_CONFIG_SUFFIX
ALL_COLUMNS
Constructor and Description |
---|
MongoGroupScan(String userName,
MongoScanSpec scanSpec,
MongoStoragePluginConfig storagePluginConfig,
List<SchemaPath> columns,
boolean useAggregate,
StoragePluginRegistry pluginRegistry) |
MongoGroupScan(String userName,
MongoStoragePlugin storagePlugin,
MongoScanSpec scanSpec,
List<SchemaPath> columns,
boolean useAggregate) |
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.
|
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(int maxRecords) |
GroupScan |
clone(List<SchemaPath> columns)
Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .
|
List<SchemaPath> |
getColumns()
Returns a list of columns scanned by this group scan
|
String |
getDigest()
Returns a signature of the
GroupScan which should usually be composed of
all its attributes which could describe it uniquely. |
int |
getMaxParallelizationWidth() |
PhysicalOperator |
getNewWithChildren(List<PhysicalOperator> children)
Regenerate with this node with a new set of children.
|
List<EndpointAffinity> |
getOperatorAffinity()
Get the list of Endpoints with associated affinities that this operator has preference for.
|
MongoScanSpec |
getScanSpec() |
ScanStats |
getScanStats() |
MongoSubScan |
getSpecificScan(int minorFragmentId) |
MongoStoragePluginConfig |
getStorageConfig() |
MongoStoragePlugin |
getStoragePlugin() |
boolean |
isUseAggregate() |
void |
setUseAggregate(boolean useAggregate) |
boolean |
supportsLimitPushdown()
Default is not to support limit pushdown.
|
String |
toString() |
accept, applyFilter, enforceWidth, getAnalyzeInfoProvider, getColumnValueCount, getDistributionAffinity, getFiles, getFilter, getInitialAllocation, getMaxAllocation, getMetadataProvider, getMinParallelizationWidth, getOperatorType, 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, wait, wait, wait
getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
accept
forEach, spliterator
public MongoGroupScan(String userName, MongoScanSpec scanSpec, MongoStoragePluginConfig storagePluginConfig, List<SchemaPath> columns, boolean useAggregate, StoragePluginRegistry pluginRegistry)
public MongoGroupScan(String userName, MongoStoragePlugin storagePlugin, MongoScanSpec scanSpec, List<SchemaPath> columns, boolean useAggregate)
public GroupScan clone(List<SchemaPath> columns)
GroupScan
clone
in interface GroupScan
clone
in class AbstractGroupScan
public GroupScan clone(int maxRecords)
public boolean canPushdownProjects(List<SchemaPath> columns)
GroupScan
canPushdownProjects
in interface GroupScan
canPushdownProjects
in class AbstractGroupScan
public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints)
applyAssignments
in interface GroupScan
public MongoSubScan getSpecificScan(int minorFragmentId)
getSpecificScan
in interface GroupScan
public int getMaxParallelizationWidth()
getMaxParallelizationWidth
in interface GroupScan
public String getDigest()
GroupScan
GroupScan
which should usually be composed of
all its attributes which could describe it uniquely.public ScanStats getScanStats()
getScanStats
in class AbstractGroupScan
public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
PhysicalOperator
getNewWithChildren
in interface PhysicalOperator
public List<EndpointAffinity> getOperatorAffinity()
HasAffinity
getOperatorAffinity
in interface HasAffinity
getOperatorAffinity
in class AbstractGroupScan
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 List<SchemaPath> getColumns()
GroupScan
getColumns
in interface GroupScan
getColumns
in class AbstractGroupScan
public MongoScanSpec getScanSpec()
public MongoStoragePluginConfig getStorageConfig()
public MongoStoragePlugin getStoragePlugin()
public void setUseAggregate(boolean useAggregate)
public boolean isUseAggregate()
Copyright © 1970 The Apache Software Foundation. All rights reserved.