public class EasyGroupScan extends AbstractGroupScanWithMetadata<TableMetadataProvider>
AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B extends AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B>>
columns, files, fileSet, filter, limit, matchAllMetadata, metadataProvider, nonInterestingColumnsMetadata, partitionColumns, partitions, segments, tableMetadata, usedMetastore
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
ALL_COLUMNS
Constructor and Description |
---|
EasyGroupScan(String userName,
FileSelection selection,
EasyFormatPlugin<?> formatPlugin,
List<SchemaPath> columns,
org.apache.hadoop.fs.Path selectionRoot,
int minWidth,
MetadataProviderManager metadataProvider) |
EasyGroupScan(String userName,
FileSelection selection,
EasyFormatPlugin<?> formatPlugin,
List<SchemaPath> columns,
org.apache.hadoop.fs.Path selectionRoot,
MetadataProviderManager metadataProviderManager) |
EasyGroupScan(String userName,
List<org.apache.hadoop.fs.Path> files,
StoragePluginConfig storageConfig,
FormatPluginConfig formatConfig,
StoragePluginRegistry engineRegistry,
List<SchemaPath> columns,
org.apache.hadoop.fs.Path selectionRoot,
TupleMetadata schema,
int limit) |
Modifier and Type | Method and Description |
---|---|
void |
applyAssignments(List<CoordinationProtos.DrillbitEndpoint> incomingEndpoints) |
boolean |
canPushdownProjects(List<SchemaPath> columns)
GroupScan should check the list of columns, and see if it could support all the columns in the list.
|
FileGroupScan |
clone(FileSelection selection) |
GroupScan |
clone(List<SchemaPath> columns)
Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .
|
protected FileTableMetadataProviderBuilder<?> |
defaultTableMetadataProviderBuilder(MetadataProviderManager source)
Returns
TableMetadataProviderBuilder instance which may provide metadata
without using Drill Metastore. |
AnalyzeInfoProvider |
getAnalyzeInfoProvider()
Returns
AnalyzeInfoProvider instance which will be used when running ANALYZE statement. |
List<org.apache.hadoop.fs.Path> |
getFiles()
Returns a collection of file names associated with this GroupScan.
|
FileSelection |
getFileSelection() |
protected AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<?> |
getFilterer()
Returns holder for metadata values which provides API to filter metadata
and build new group scan instance using filtered metadata.
|
FormatPluginConfig |
getFormatConfig() |
int |
getMaxParallelizationWidth() |
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()
Get the list of Endpoints with associated affinities that this operator has preference for.
|
protected List<String> |
getPartitionValues(LocationProvider locationProvider) |
ScanStats |
getScanStats(PlannerSettings settings) |
TupleMetadata |
getSchema() |
org.apache.hadoop.fs.Path |
getSelectionRoot()
Returns path to the selection root.
|
EasySubScan |
getSpecificScan(int minorFragmentId) |
StoragePluginConfig |
getStorageConfig() |
Iterable<CompleteFileWork> |
getWorkIterable() |
boolean |
hasFiles()
Return true if this GroupScan can return its selection as a list of file names (retrieved by getFiles()).
|
void |
modifyFileSelection(FileSelection selection) |
protected boolean |
supportsFileImplicitColumns() |
boolean |
supportsFilterPushDown()
Checks whether this group scan supports filter push down.
|
protected FileTableMetadataProviderBuilder<?> |
tableMetadataProviderBuilder(MetadataProviderManager source)
Returns
TableMetadataProviderBuilder instance based on specified
MetadataProviderManager source. |
String |
toString() |
applyFilter, applyLimit, checkMetadataConsistency, getColumns, getColumnValueCount, getDigest, getFileSet, getFilesMetadata, getFilter, getFilterPredicate, getFilterPredicate, getFilterString, getLimit, getMetadataProvider, getNextOrEmpty, getNonInterestingColumnsMetadata, getPartitionColumns, getPartitionsMetadata, getPartitionValue, getScanStats, getSegmentsMetadata, getTableMetadata, getTypeForColumn, init, isAllDataPruned, isGroupScanFullyMatchesFilter, isImplicitOrPartCol, isMatchAllMetadata, limitMetadata, pruneForPartitions, setFilter, setFilterForRuntime, supportsLimitPushdown, usedMetastore
supportsPartitionFilterPushdown
accept, enforceWidth, getDistributionAffinity, getInitialAllocation, getMaxAllocation, getOperatorType, getScanStats, isDistributed, isExecutable, iterator
accept, getCost, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
enforceWidth, getScanStats, isDistributed
accept, getCost, getInitialAllocation, getMaxAllocation, getOperatorId, getOperatorType, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
accept
forEach, iterator, spliterator
getDistributionAffinity
public EasyGroupScan(String userName, List<org.apache.hadoop.fs.Path> files, StoragePluginConfig storageConfig, FormatPluginConfig formatConfig, StoragePluginRegistry engineRegistry, List<SchemaPath> columns, org.apache.hadoop.fs.Path selectionRoot, TupleMetadata schema, int limit) throws IOException
IOException
public EasyGroupScan(String userName, FileSelection selection, EasyFormatPlugin<?> formatPlugin, List<SchemaPath> columns, org.apache.hadoop.fs.Path selectionRoot, MetadataProviderManager metadataProviderManager) throws IOException
IOException
public EasyGroupScan(String userName, FileSelection selection, EasyFormatPlugin<?> formatPlugin, List<SchemaPath> columns, org.apache.hadoop.fs.Path selectionRoot, int minWidth, MetadataProviderManager metadataProvider) throws IOException
IOException
public Iterable<CompleteFileWork> getWorkIterable()
public org.apache.hadoop.fs.Path getSelectionRoot()
GroupScan
getSelectionRoot
in interface GroupScan
getSelectionRoot
in class AbstractGroupScan
public int getMinParallelizationWidth()
GroupScan
SimpleParallelizer
getMinParallelizationWidth
in interface GroupScan
getMinParallelizationWidth
in class AbstractGroupScan
public int getMaxParallelizationWidth()
public ScanStats getScanStats(PlannerSettings settings)
getScanStats
in interface GroupScan
getScanStats
in class AbstractGroupScan
public boolean hasFiles()
GroupScan
hasFiles
in interface GroupScan
hasFiles
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
public List<org.apache.hadoop.fs.Path> getFiles()
GroupScan
getFiles
in interface GroupScan
getFiles
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
public FileSelection getFileSelection()
public void modifyFileSelection(FileSelection selection)
modifyFileSelection
in interface FileGroupScan
modifyFileSelection
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
protected boolean supportsFileImplicitColumns()
supportsFileImplicitColumns
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
public boolean supportsFilterPushDown()
GroupScan
supportsFilterPushDown
in interface GroupScan
supportsFilterPushDown
in class AbstractGroupScan
true
if this group scan supports filter push down,
false
otherwiseprotected List<String> getPartitionValues(LocationProvider locationProvider)
getPartitionValues
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
PhysicalOperator
public List<EndpointAffinity> getOperatorAffinity()
HasAffinity
getOperatorAffinity
in interface HasAffinity
getOperatorAffinity
in class AbstractGroupScan
public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> incomingEndpoints)
public EasySubScan getSpecificScan(int minorFragmentId)
public StoragePluginConfig getStorageConfig()
public FormatPluginConfig getFormatConfig()
public GroupScan clone(List<SchemaPath> columns)
GroupScan
clone
in interface GroupScan
clone
in class AbstractGroupScan
public FileGroupScan clone(FileSelection selection) throws IOException
clone
in interface FileGroupScan
clone
in class AbstractFileGroupScan
IOException
public boolean canPushdownProjects(List<SchemaPath> columns)
GroupScan
canPushdownProjects
in interface GroupScan
canPushdownProjects
in class AbstractGroupScan
public TupleMetadata getSchema()
getSchema
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
public AnalyzeInfoProvider getAnalyzeInfoProvider()
GroupScan
AnalyzeInfoProvider
instance which will be used when running ANALYZE statement.getAnalyzeInfoProvider
in interface GroupScan
getAnalyzeInfoProvider
in class AbstractGroupScan
AnalyzeInfoProvider
instanceprotected AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<?> getFilterer()
AbstractGroupScanWithMetadata
getFilterer
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
protected FileTableMetadataProviderBuilder<?> tableMetadataProviderBuilder(MetadataProviderManager source)
AbstractGroupScanWithMetadata
TableMetadataProviderBuilder
instance based on specified
MetadataProviderManager
source.tableMetadataProviderBuilder
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
source
- metadata provider managerTableMetadataProviderBuilder
instanceprotected FileTableMetadataProviderBuilder<?> defaultTableMetadataProviderBuilder(MetadataProviderManager source)
AbstractGroupScanWithMetadata
TableMetadataProviderBuilder
instance which may provide metadata
without using Drill Metastore.defaultTableMetadataProviderBuilder
in class AbstractGroupScanWithMetadata<TableMetadataProvider>
source
- metadata provider managerTableMetadataProviderBuilder
instanceCopyright © 1970 The Apache Software Foundation. All rights reserved.