Class DeltaGroupScan
java.lang.Object
org.apache.drill.exec.physical.base.AbstractBase
org.apache.drill.exec.physical.base.AbstractGroupScan
org.apache.drill.exec.physical.base.AbstractFileGroupScan
org.apache.drill.exec.physical.base.AbstractGroupScanWithMetadata<ParquetMetadataProvider>
org.apache.drill.exec.store.parquet.AbstractParquetGroupScan
org.apache.drill.exec.store.delta.DeltaGroupScan
- All Implemented Interfaces:
Iterable<PhysicalOperator>,GraphValue<PhysicalOperator>,FileGroupScan,FragmentLeaf,GroupScan,HasAffinity,Leaf,PhysicalOperator,Scan
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.drill.exec.store.parquet.AbstractParquetGroupScan
AbstractParquetGroupScan.RowGroupScanFilterer<B extends AbstractParquetGroupScan.RowGroupScanFilterer<B>>Nested classes/interfaces inherited from class org.apache.drill.exec.physical.base.AbstractGroupScanWithMetadata
AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B extends AbstractGroupScanWithMetadata.GroupScanWithMetadataFilterer<B>> -
Field Summary
Fields inherited from class org.apache.drill.exec.store.parquet.AbstractParquetGroupScan
entries, mappings, readerConfig, rowGroupsFields inherited from class org.apache.drill.exec.physical.base.AbstractGroupScanWithMetadata
columns, files, fileSet, filter, limit, matchAllMetadata, metadataProvider, nonInterestingColumnsMetadata, partitionColumns, partitions, segments, tableMetadata, usedMetastoreFields 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
ConstructorsConstructorDescriptionDeltaGroupScan(String userName, List<ReadEntryWithPath> entries, StoragePluginConfig storageConfig, FormatPluginConfig formatConfig, List<SchemaPath> columns, TupleMetadata schema, String path, ParquetReaderConfig readerConfig, LogicalExpression condition, Integer limit, Map<org.apache.hadoop.fs.Path, Map<String, String>> partitionHolder, StoragePluginRegistry pluginRegistry) -
Method Summary
Modifier and TypeMethodDescriptionapplyLimit(int maxRecords) By default, return null to indicate row count based prune is not supported.builder()clone(List<SchemaPath> columns) Returns a clone of GroupScan instance, except that the new GroupScan will use the provided list of columns .clone(FileSelection selection) protected AbstractParquetGroupScancloneWithFileSelection(Collection<org.apache.hadoop.fs.Path> filePaths) ReturnsTableMetadataProviderBuilderinstance which may provide metadata without using Drill Metastore.protected Collection<CoordinationProtos.DrillbitEndpoint> protected AbstractParquetGroupScan.RowGroupScanFilterer<?> Returns holder for metadata values which provides API to filter metadata and build new group scan instance using filtered metadata.getNewWithChildren(List<PhysicalOperator> children) Regenerate with this node with a new set of children.getPartitionValues(LocationProvider locationProvider) getPath()getSpecificScan(int minorFragmentId) protected booleanbooleanDefault is not to support limit pushdown.ReturnsTableMetadataProviderBuilderinstance based on specifiedMetadataProviderManagersource.toString()Methods inherited from class org.apache.drill.exec.store.parquet.AbstractParquetGroupScan
applyAssignments, applyFilter, canPushdownProjects, getEntries, getFiles, getMaxParallelizationWidth, getOperatorAffinity, getReadEntries, getReaderConfig, getReaderConfigForSerialization, getRowGroupsMetadata, modifyFileSelection, pruneForPartitions, pruneRowGroupsForFiles, supportsFilterPushDownMethods inherited from class org.apache.drill.exec.physical.base.AbstractGroupScanWithMetadata
checkMetadataConsistency, getColumns, getColumnValueCount, getDigest, getFileSet, getFilesMetadata, getFilter, getFilterPredicate, getFilterPredicate, getFilterString, getLimit, getMetadataProvider, getNextOrEmpty, getNonInterestingColumnsMetadata, getPartitionColumns, getPartitionsMetadata, getPartitionValue, getScanStats, getSegmentsMetadata, getTableMetadata, getTypeForColumn, hasFiles, init, isAllDataPruned, isGroupScanFullyMatchesFilter, isImplicitOrPartCol, isMatchAllMetadata, limitMetadata, pruneForPartitions, setFilter, setFilterForRuntime, usedMetastoreMethods inherited from class org.apache.drill.exec.physical.base.AbstractFileGroupScan
supportsPartitionFilterPushdownMethods inherited from class org.apache.drill.exec.physical.base.AbstractGroupScan
accept, enforceWidth, getAnalyzeInfoProvider, getDistributionAffinity, getInitialAllocation, getMaxAllocation, getMinParallelizationWidth, getOperatorType, getScanStats, getScanStats, getSelectionRoot, isDistributed, isExecutable, iteratorMethods 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 org.apache.drill.exec.physical.base.GroupScan
enforceWidth, getAnalyzeInfoProvider, getMinParallelizationWidth, getScanStats, getScanStats, getSelectionRoot, isDistributedMethods inherited from interface org.apache.drill.exec.physical.base.HasAffinity
getDistributionAffinityMethods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface org.apache.drill.exec.physical.base.PhysicalOperator
accept, getCost, getInitialAllocation, getMaxAllocation, getOperatorId, getOperatorType, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
-
Constructor Details
-
DeltaGroupScan
public DeltaGroupScan(String userName, List<ReadEntryWithPath> entries, StoragePluginConfig storageConfig, FormatPluginConfig formatConfig, List<SchemaPath> columns, TupleMetadata schema, String path, ParquetReaderConfig readerConfig, LogicalExpression condition, Integer limit, Map<org.apache.hadoop.fs.Path, Map<String, throws IOExceptionString>> partitionHolder, StoragePluginRegistry pluginRegistry) - Throws:
IOException
-
-
Method Details
-
tableMetadataProviderBuilder
protected DeltaParquetTableMetadataProvider.Builder tableMetadataProviderBuilder(MetadataProviderManager source) Description copied from class:AbstractGroupScanWithMetadataReturnsTableMetadataProviderBuilderinstance based on specifiedMetadataProviderManagersource.- Specified by:
tableMetadataProviderBuilderin classAbstractGroupScanWithMetadata<ParquetMetadataProvider>- Parameters:
source- metadata provider manager- Returns:
TableMetadataProviderBuilderinstance
-
defaultTableMetadataProviderBuilder
protected DeltaParquetTableMetadataProvider.Builder defaultTableMetadataProviderBuilder(MetadataProviderManager source) Description copied from class:AbstractGroupScanWithMetadataReturnsTableMetadataProviderBuilderinstance which may provide metadata without using Drill Metastore.- Specified by:
defaultTableMetadataProviderBuilderin classAbstractParquetGroupScan- Parameters:
source- metadata provider manager- Returns:
TableMetadataProviderBuilderinstance
-
builder
-
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
-
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 classAbstractParquetGroupScan- 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.
-
getSpecificScan
-
clone
- Specified by:
clonein interfaceFileGroupScan- Overrides:
clonein classAbstractFileGroupScan- Throws:
IOException
-
getFilterer
Description copied from class:AbstractGroupScanWithMetadataReturns holder for metadata values which provides API to filter metadata and build new group scan instance using filtered metadata.- Specified by:
getFiltererin classAbstractParquetGroupScan
-
getDrillbits
- Specified by:
getDrillbitsin classAbstractParquetGroupScan
-
cloneWithFileSelection
protected AbstractParquetGroupScan cloneWithFileSelection(Collection<org.apache.hadoop.fs.Path> filePaths) throws IOException - Specified by:
cloneWithFileSelectionin classAbstractParquetGroupScan- Throws:
IOException
-
supportsFileImplicitColumns
protected boolean supportsFileImplicitColumns()- Specified by:
supportsFileImplicitColumnsin classAbstractGroupScanWithMetadata<ParquetMetadataProvider>
-
getPartitionValues
- Specified by:
getPartitionValuesin classAbstractGroupScanWithMetadata<ParquetMetadataProvider>
-
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-
-
supportsLimitPushdown
public boolean supportsLimitPushdown()Description copied from class:AbstractGroupScanDefault is not to support limit pushdown.- Specified by:
supportsLimitPushdownin interfaceGroupScan- Overrides:
supportsLimitPushdownin classAbstractGroupScanWithMetadata<ParquetMetadataProvider>
-
getSchema
- Overrides:
getSchemain classAbstractGroupScanWithMetadata<ParquetMetadataProvider>
-
getStorageConfig
-
getFormatConfig
-
getPath
-
getCondition
-
getPartitionHolder
-
toString
-