Class ParquetFieldIdColumnResolverFactory
java.lang.Object
io.deephaven.parquet.table.location.ParquetFieldIdColumnResolverFactory
- All Implemented Interfaces:
ParquetColumnResolver.Factory
public final class ParquetFieldIdColumnResolverFactory
extends Object
implements ParquetColumnResolver.Factory
This
ParquetColumnResolver.Factory
resolves Parquet columns via field ids
. The field ids
are considered for resolution no matter what level in the schema they exist. For example, the following schema has
field ids at different levels:
message root { required int32 X = 42; required group Y (LIST) = 43 { repeated group list { required int32 element; } } required group Z (LIST) { repeated group list { required int32 element = 44; } } }In this example,
42
would be resolvable to [X]
, 43
would be resolvable to
[Y, list, element]
, and 44
would be resolvable to [Z, list, element]
.
If a schema has ambiguous field ids (according to this implementation's definition), the resolution will fail if the user requests those field ids. For example:
message root { required int32 X = 42; required group Y (LIST) = 43 { repeated group list { required int32 element; } } required group Z (LIST) { repeated group list { required int32 element = 42; } } }In this example, if
42
was requested, resolution would fail because it is ambiguous between paths [X]
and [Z, list, element]
. If 43
was requested, resolution would succeed.-
Method Summary
Modifier and TypeMethodDescriptionof
(TableKey tableKey, ParquetTableLocationKey tableLocationKey) Equivalent toof(tableLocationKey.getFileReader().getSchema())
.Creates a field id column resolver factory.of
(org.apache.parquet.schema.MessageType schema) Resolves the requested field ids forschema
.
-
Method Details
-
of
Creates a field id column resolver factory.- Parameters:
columnNameToFieldId
- a map from Deephaven column names to field ids- Returns:
- the column resolver provider
-
of
Resolves the requested field ids forschema
.- Parameters:
schema
- the schema- Returns:
- the resolver map
-
of
Equivalent toof(tableLocationKey.getFileReader().getSchema())
.- Specified by:
of
in interfaceParquetColumnResolver.Factory
- Parameters:
tableKey
- the table keytableLocationKey
- the Parquet TLK- Returns:
- the resolver map
- See Also:
-