Class HivePageSourceProvider
java.lang.Object
io.trino.plugin.hive.HivePageSourceProvider
- All Implemented Interfaces:
ConnectorPageSourceProvider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic enum -
Constructor Summary
ConstructorsConstructorDescriptionHivePageSourceProvider(TypeManager typeManager, HiveConfig hiveConfig, Set<HivePageSourceFactory> pageSourceFactories) -
Method Summary
Modifier and TypeMethodDescriptionstatic Optional<ConnectorPageSource> createHivePageSource(Set<HivePageSourceFactory> pageSourceFactories, ConnectorSession session, Location path, OptionalInt tableBucketNumber, long start, long length, long estimatedFileSize, long fileModifiedTime, Schema schema, TupleDomain<HiveColumnHandle> effectivePredicate, TypeManager typeManager, Optional<HiveSplit.BucketConversion> bucketConversion, Optional<HiveSplit.BucketValidation> bucketValidation, Optional<AcidInfo> acidInfo, boolean originalFile, AcidTransaction transaction, List<HivePageSourceProvider.ColumnMapping> columnMappings) createPageSource(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorSplit split, ConnectorTableHandle tableHandle, List<ColumnHandle> columns, DynamicFilter dynamicFilter) getProjection(ColumnHandle expected, ColumnHandle read) static Optional<ReaderColumns> projectBaseColumns(List<HiveColumnHandle> columns) Creates a mapping between the inputcolumnsand base columns based on baseHiveColumnIndex if required.static Optional<ReaderColumns> projectBaseColumns(List<HiveColumnHandle> columns, boolean useColumnNames) Creates a mapping between the inputcolumnsand base columns based on baseHiveColumnIndex or baseColumnName if required.static Optional<ReaderColumns> projectSufficientColumns(List<HiveColumnHandle> columns) Creates a set of sufficient columns for the input projected columns and prepares a mapping between the two.
-
Constructor Details
-
HivePageSourceProvider
@Inject public HivePageSourceProvider(TypeManager typeManager, HiveConfig hiveConfig, Set<HivePageSourceFactory> pageSourceFactories)
-
-
Method Details
-
createPageSource
public ConnectorPageSource createPageSource(ConnectorTransactionHandle transaction, ConnectorSession session, ConnectorSplit split, ConnectorTableHandle tableHandle, List<ColumnHandle> columns, DynamicFilter dynamicFilter) - Specified by:
createPageSourcein interfaceConnectorPageSourceProvider
-
createHivePageSource
public static Optional<ConnectorPageSource> createHivePageSource(Set<HivePageSourceFactory> pageSourceFactories, ConnectorSession session, Location path, OptionalInt tableBucketNumber, long start, long length, long estimatedFileSize, long fileModifiedTime, Schema schema, TupleDomain<HiveColumnHandle> effectivePredicate, TypeManager typeManager, Optional<HiveSplit.BucketConversion> bucketConversion, Optional<HiveSplit.BucketValidation> bucketValidation, Optional<AcidInfo> acidInfo, boolean originalFile, AcidTransaction transaction, List<HivePageSourceProvider.ColumnMapping> columnMappings) -
getProjection
-
projectBaseColumns
Creates a mapping between the inputcolumnsand base columns based on baseHiveColumnIndex if required. -
projectBaseColumns
public static Optional<ReaderColumns> projectBaseColumns(List<HiveColumnHandle> columns, boolean useColumnNames) Creates a mapping between the inputcolumnsand base columns based on baseHiveColumnIndex or baseColumnName if required. -
projectSufficientColumns
Creates a set of sufficient columns for the input projected columns and prepares a mapping between the two. For example, if input columns include columns "a.b" and "a.b.c", then they will be projected from a single column "a.b".
-