public class IcebergGroupScan extends AbstractGroupScan
Modifier and Type | Class and Description |
---|---|
static class |
IcebergGroupScan.IcebergGroupScanBuilder |
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
ALL_COLUMNS
Constructor and Description |
---|
IcebergGroupScan(String userName,
StoragePluginConfig storageConfig,
FormatPluginConfig formatConfig,
List<SchemaPath> columns,
TupleMetadata schema,
String path,
LogicalExpression condition,
Integer maxRecords,
StoragePluginRegistry pluginRegistry) |
Modifier and Type | Method and Description |
---|---|
void |
applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) |
IcebergGroupScan |
applyLimit(int maxRecords)
By default, return null to indicate row count based prune is not supported.
|
static IcebergGroupScan.IcebergGroupScanBuilder |
builder() |
IcebergGroupScan |
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
|
LogicalExpression |
getCondition() |
String |
getDigest()
Returns a signature of the
GroupScan which should usually be composed of
all its attributes which could describe it uniquely. |
FormatPluginConfig |
getFormatConfig() |
IcebergFormatPlugin |
getFormatPlugin() |
int |
getMaxParallelizationWidth() |
int |
getMaxRecords() |
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.
|
String |
getPath() |
static String |
getPath(SchemaPath schemaPath) |
ScanStats |
getScanStats() |
TupleMetadata |
getSchema() |
IcebergSubScan |
getSpecificScan(int minorFragmentId) |
StoragePluginConfig |
getStorageConfig() |
org.apache.iceberg.TableScan |
getTableScan() |
static org.apache.iceberg.TableScan |
initTableScan(IcebergFormatPlugin formatPlugin,
String path,
LogicalExpression condition) |
static org.apache.iceberg.TableScan |
projectColumns(org.apache.iceberg.TableScan tableScan,
List<SchemaPath> columns) |
boolean |
supportsLimitPushdown()
Default is not to support limit pushdown.
|
IcebergGroupScan.IcebergGroupScanBuilder |
toBuilder() |
String |
toString() |
accept, applyFilter, canPushdownProjects, 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 IcebergGroupScan(String userName, StoragePluginConfig storageConfig, FormatPluginConfig formatConfig, List<SchemaPath> columns, TupleMetadata schema, String path, LogicalExpression condition, Integer maxRecords, StoragePluginRegistry pluginRegistry) throws IOException
IOException
public static org.apache.iceberg.TableScan initTableScan(IcebergFormatPlugin formatPlugin, String path, LogicalExpression condition)
public static IcebergGroupScan.IcebergGroupScanBuilder builder()
public IcebergGroupScan clone(List<SchemaPath> columns)
GroupScan
clone
in interface GroupScan
clone
in class AbstractGroupScan
public IcebergGroupScan applyLimit(int maxRecords)
AbstractGroupScan
applyLimit
in interface GroupScan
applyLimit
in class AbstractGroupScan
maxRecords
- : the number of rows requested from group scan.public void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints)
public IcebergSubScan getSpecificScan(int minorFragmentId)
public org.apache.iceberg.TableScan getTableScan()
public int getMaxRecords()
public int getMaxParallelizationWidth()
public String getDigest()
GroupScan
GroupScan
which should usually be composed of
all its attributes which could describe it uniquely.public ScanStats getScanStats()
getScanStats
in class AbstractGroupScan
public PhysicalOperator getNewWithChildren(List<PhysicalOperator> children)
PhysicalOperator
public static org.apache.iceberg.TableScan projectColumns(org.apache.iceberg.TableScan tableScan, List<SchemaPath> columns)
public static String getPath(SchemaPath schemaPath)
public List<EndpointAffinity> getOperatorAffinity()
HasAffinity
getOperatorAffinity
in interface HasAffinity
getOperatorAffinity
in class AbstractGroupScan
public boolean supportsLimitPushdown()
AbstractGroupScan
supportsLimitPushdown
in interface GroupScan
supportsLimitPushdown
in class AbstractGroupScan
public List<SchemaPath> getColumns()
GroupScan
getColumns
in interface GroupScan
getColumns
in class AbstractGroupScan
public TupleMetadata getSchema()
public StoragePluginConfig getStorageConfig()
public FormatPluginConfig getFormatConfig()
public String getPath()
public LogicalExpression getCondition()
public IcebergFormatPlugin getFormatPlugin()
public IcebergGroupScan.IcebergGroupScanBuilder toBuilder()
Copyright © 1970 The Apache Software Foundation. All rights reserved.