public class DruidGroupScan extends AbstractGroupScan
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
ALL_COLUMNS
Constructor and Description |
---|
DruidGroupScan(String userName,
DruidScanSpec scanSpec,
DruidStoragePluginConfig storagePluginConfig,
List<SchemaPath> columns,
int maxRecordsToRead,
StoragePluginRegistry pluginRegistry) |
DruidGroupScan(String userName,
DruidStoragePlugin storagePlugin,
DruidScanSpec scanSpec,
List<SchemaPath> columns,
int maxRecordsToRead) |
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 maxRecordsToRead) |
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 |
getDataSourceMaxTime() |
String |
getDataSourceMinTime() |
long |
getDatasourceSize() |
String |
getDigest()
Returns a signature of the
GroupScan which should usually be composed of
all its attributes which could describe it uniquely. |
int |
getMaxParallelizationWidth() |
int |
getMaxRecordsToRead() |
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.
|
DruidScanSpec |
getScanSpec() |
ScanStats |
getScanStats() |
DruidSubScan |
getSpecificScan(int minorFragmentId) |
DruidStoragePlugin |
getStoragePlugin() |
String |
getTableName() |
boolean |
isFilterPushedDown() |
void |
setFilterPushedDown(boolean filterPushedDown) |
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 DruidGroupScan(String userName, DruidScanSpec scanSpec, DruidStoragePluginConfig storagePluginConfig, List<SchemaPath> columns, int maxRecordsToRead, StoragePluginRegistry pluginRegistry)
public DruidGroupScan(String userName, DruidStoragePlugin storagePlugin, DruidScanSpec scanSpec, List<SchemaPath> columns, int maxRecordsToRead)
public GroupScan clone(List<SchemaPath> columns)
GroupScan
clone
in interface GroupScan
clone
in class AbstractGroupScan
public GroupScan clone(int maxRecordsToRead)
public List<EndpointAffinity> getOperatorAffinity()
HasAffinity
getOperatorAffinity
in interface HasAffinity
getOperatorAffinity
in class AbstractGroupScan
public boolean canPushdownProjects(List<SchemaPath> columns)
GroupScan
canPushdownProjects
in interface GroupScan
canPushdownProjects
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 boolean isFilterPushedDown()
public void setFilterPushedDown(boolean filterPushedDown)
public ScanStats getScanStats()
getScanStats
in class AbstractGroupScan
public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints)
public DruidSubScan getSpecificScan(int minorFragmentId)
public String getTableName()
public long getDatasourceSize()
public String getDataSourceMinTime()
public String getDataSourceMaxTime()
public int getMaxParallelizationWidth()
public String getDigest()
GroupScan
GroupScan
which should usually be composed of
all its attributes which could describe it uniquely.public DruidScanSpec getScanSpec()
public DruidStoragePlugin getStoragePlugin()
public List<SchemaPath> getColumns()
GroupScan
getColumns
in interface GroupScan
getColumns
in class AbstractGroupScan
public int getMaxRecordsToRead()
public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
PhysicalOperator
Copyright © 1970 The Apache Software Foundation. All rights reserved.