Class MongoGroupScan
java.lang.Object
org.apache.drill.exec.physical.base.AbstractBase
org.apache.drill.exec.physical.base.AbstractGroupScan
org.apache.drill.exec.store.mongo.MongoGroupScan
- All Implemented Interfaces:
Iterable<PhysicalOperator>,GraphValue<PhysicalOperator>,FragmentLeaf,GroupScan,HasAffinity,Leaf,PhysicalOperator,Scan,DrillMongoConstants
-
Field Summary
Fields inherited from class org.apache.drill.exec.physical.base.AbstractBase
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userNameFields inherited from interface org.apache.drill.exec.store.mongo.DrillMongoConstants
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_SUFFIXFields inherited from interface org.apache.drill.exec.physical.base.GroupScan
ALL_COLUMNS -
Constructor Summary
ConstructorsConstructorDescriptionMongoGroupScan(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) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) applyLimit(int maxRecords) By default, return null to indicate row count based prune is not supported.booleancanPushdownProjects(List<SchemaPath> columns) GroupScan should check the list of columns, and see if it could support all the columns in the list.clone(int maxRecords) clone(List<SchemaPath> columns) Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .Returns a list of columns scanned by this group scanReturns a signature of theGroupScanwhich should usually be composed of all its attributes which could describe it uniquely.intgetNewWithChildren(List<PhysicalOperator> children) Regenerate with this node with a new set of children.Get the list of Endpoints with associated affinities that this operator has preference for.getSpecificScan(int minorFragmentId) booleanvoidsetUseAggregate(boolean useAggregate) booleanDefault is not to support limit pushdown.toString()Methods inherited from class org.apache.drill.exec.physical.base.AbstractGroupScan
accept, applyFilter, enforceWidth, getAnalyzeInfoProvider, getColumnValueCount, getDistributionAffinity, getFiles, getFilter, getInitialAllocation, getMaxAllocation, getMetadataProvider, getMinParallelizationWidth, getOperatorType, getPartitionColumns, getScanStats, getScanStats, getSelectionRoot, getTableMetadata, hasFiles, isDistributed, isExecutable, iterator, supportsFilterPushDown, supportsPartitionFilterPushdown, usedMetastoreMethods inherited from class org.apache.drill.exec.physical.base.AbstractBase
accept, getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorIdMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.drill.common.graph.GraphValue
acceptMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.apache.drill.exec.physical.base.PhysicalOperator
getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
-
Constructor Details
-
MongoGroupScan
public MongoGroupScan(String userName, MongoScanSpec scanSpec, MongoStoragePluginConfig storagePluginConfig, List<SchemaPath> columns, boolean useAggregate, StoragePluginRegistry pluginRegistry) -
MongoGroupScan
public MongoGroupScan(String userName, MongoStoragePlugin storagePlugin, MongoScanSpec scanSpec, List<SchemaPath> columns, boolean useAggregate)
-
-
Method Details
-
clone
Description copied from interface:GroupScanReturns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .- Specified by:
clonein interfaceGroupScan- Overrides:
clonein classAbstractGroupScan
-
clone
-
canPushdownProjects
Description copied from interface:GroupScanGroupScan should check the list of columns, and see if it could support all the columns in the list.- Specified by:
canPushdownProjectsin interfaceGroupScan- Overrides:
canPushdownProjectsin classAbstractGroupScan
-
applyAssignments
- Specified by:
applyAssignmentsin interfaceGroupScan
-
getSpecificScan
- Specified by:
getSpecificScanin interfaceGroupScan
-
getMaxParallelizationWidth
public int getMaxParallelizationWidth()- Specified by:
getMaxParallelizationWidthin interfaceGroupScan
-
getDigest
Description copied from interface:GroupScanReturns a signature of theGroupScanwhich should usually be composed of all its attributes which could describe it uniquely. -
getScanStats
- Overrides:
getScanStatsin classAbstractGroupScan
-
getNewWithChildren
Description copied from interface:PhysicalOperatorRegenerate with this node with a new set of children. This is used in the case of materialization or optimization.- Specified by:
getNewWithChildrenin interfacePhysicalOperator- Parameters:
children-
-
getOperatorAffinity
Description copied from interface:HasAffinityGet the list of Endpoints with associated affinities that this operator has preference for.- Specified by:
getOperatorAffinityin interfaceHasAffinity- Overrides:
getOperatorAffinityin classAbstractGroupScan- Returns:
- List of EndpointAffinity objects.
-
supportsLimitPushdown
public boolean supportsLimitPushdown()Description copied from class:AbstractGroupScanDefault is not to support limit pushdown.- Specified by:
supportsLimitPushdownin interfaceGroupScan- Overrides:
supportsLimitPushdownin classAbstractGroupScan
-
applyLimit
Description copied from class:AbstractGroupScanBy default, return null to indicate row count based prune is not supported. Each group scan subclass should override, if it supports row count based prune.- Specified by:
applyLimitin interfaceGroupScan- Overrides:
applyLimitin classAbstractGroupScan- Parameters:
maxRecords- : the number of rows requested from group scan.- Returns:
- a new instance of group scan if the prune is successful. null when either if row-based prune is not supported, or if prune is not successful.
-
getColumns
Description copied from interface:GroupScanReturns a list of columns scanned by this group scan- Specified by:
getColumnsin interfaceGroupScan- Overrides:
getColumnsin classAbstractGroupScan
-
getScanSpec
-
getStorageConfig
-
getStoragePlugin
-
setUseAggregate
public void setUseAggregate(boolean useAggregate) -
isUseAggregate
public boolean isUseAggregate() -
toString
-