Class SplunkGroupScan
java.lang.Object
org.apache.drill.exec.physical.base.AbstractBase
org.apache.drill.exec.physical.base.AbstractGroupScan
org.apache.drill.exec.store.splunk.SplunkGroupScan
- All Implemented Interfaces:
Iterable<PhysicalOperator>,GraphValue<PhysicalOperator>,FragmentLeaf,GroupScan,HasAffinity,Leaf,PhysicalOperator,Scan
-
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.physical.base.GroupScan
ALL_COLUMNS -
Constructor Summary
ConstructorsConstructorDescriptionCopies the group scan during many stages of Calcite operation.SplunkGroupScan(SplunkGroupScan that, int maxRecords) Adds a limit to the group scanSplunkGroupScan(SplunkGroupScan that, List<SchemaPath> columns) Applies columns.SplunkGroupScan(SplunkGroupScan that, Map<String, ExprNode.ColRelOpConstNode> filters, double filterSelectivity) Adds a filter to the scan.SplunkGroupScan(SplunkPluginConfig config, List<SchemaPath> columns, SplunkScanSpec splunkScanSpec, Map<String, ExprNode.ColRelOpConstNode> filters, double selectivity, int maxRecords) Deserialize a group scan.SplunkGroupScan(SplunkScanSpec scanSpec, MetadataProviderManager metadataProviderManager) Creates a new group scan from the storage plugin. -
Method Summary
Modifier and TypeMethodDescriptionbooleanvoidapplyAssignments(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(List<SchemaPath> columns) Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .columns()config()booleanfilters()Returns a signature of theGroupScanwhich should usually be composed of all its attributes which could describe it uniquely.intReturnsTableMetadataProviderinstance which is used for providing metadata for currentGroupScan.getNewWithChildren(List<PhysicalOperator> children) Regenerate with this node with a new set of children.getSpecificScan(int minorFragmentId) booleaninthashCode()booleanhasLimit()intdoublebooleanDefault is not to support limit pushdown.toString()Methods inherited from class org.apache.drill.exec.physical.base.AbstractGroupScan
accept, applyFilter, enforceWidth, getAnalyzeInfoProvider, getColumns, getColumnValueCount, getDistributionAffinity, getFiles, getFilter, getInitialAllocation, getMaxAllocation, getMinParallelizationWidth, getOperatorAffinity, 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, finalize, getClass, 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
-
SplunkGroupScan
Creates a new group scan from the storage plugin. -
SplunkGroupScan
Copies the group scan during many stages of Calcite operation. -
SplunkGroupScan
Applies columns. Oddly called multiple times, even when the scan already has columns. -
SplunkGroupScan
public SplunkGroupScan(SplunkGroupScan that, Map<String, ExprNode.ColRelOpConstNode> filters, double filterSelectivity) Adds a filter to the scan. -
SplunkGroupScan
public SplunkGroupScan(SplunkPluginConfig config, List<SchemaPath> columns, SplunkScanSpec splunkScanSpec, Map<String, ExprNode.ColRelOpConstNode> filters, double selectivity, int maxRecords) Deserialize a group scan. Not called in normal operation. Probably used only if Drill executes a logical plan. -
SplunkGroupScan
Adds a limit to the group scan- Parameters:
that- Previous SplunkGroupScanmaxRecords- the limit pushdown
-
-
Method Details
-
config
-
columns
-
splunkScanSpec
-
filters
-
maxRecords
public int maxRecords() -
selectivity
public double selectivity() -
applyAssignments
-
getSpecificScan
-
getMaxParallelizationWidth
public int getMaxParallelizationWidth() -
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
-
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.
-
getSchema
-
getMetadataProvider
Description copied from interface:GroupScanReturnsTableMetadataProviderinstance which is used for providing metadata for currentGroupScan.- Specified by:
getMetadataProviderin interfaceGroupScan- Overrides:
getMetadataProviderin classAbstractGroupScan- Returns:
TableMetadataProviderinstance the source of metadata
-
getDigest
Description copied from interface:GroupScanReturns a signature of theGroupScanwhich should usually be composed of all its attributes which could describe it uniquely. -
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.- Parameters:
children-
-
getScanStats
- Overrides:
getScanStatsin classAbstractGroupScan
-
hasFilters
public boolean hasFilters() -
hasLimit
public boolean hasLimit() -
allowsFilters
public boolean allowsFilters() -
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
-
hashCode
public int hashCode() -
equals
-
toString
-