Package io.deephaven.iceberg.location
Class IcebergTableParquetLocationKey
java.lang.Object
io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
io.deephaven.engine.table.impl.locations.local.URITableLocationKey
io.deephaven.parquet.table.location.ParquetTableLocationKey
io.deephaven.iceberg.location.IcebergTableParquetLocationKey
- All Implemented Interfaces:
LogOutputAppendable,ImmutableTableLocationKey,TableLocationKey,IcebergTableLocationKey,NamedImplementation,Comparable<TableLocationKey>
@InternalUseOnly
public class IcebergTableParquetLocationKey
extends ParquetTableLocationKey
implements IcebergTableLocationKey
TableLocationKey implementation for use with data stored in Iceberg tables in the parquet format.-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
PartitionedTableLocationKey.PartitionsComparator, PartitionedTableLocationKey.PartitionsFormatter -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.locations.local.URITableLocationKey
order, uriFields inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
partitions -
Constructor Summary
ConstructorsConstructorDescriptionIcebergTableParquetLocationKey(@Nullable String catalogName, @Nullable UUID tableUuid, @NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier, @NotNull org.apache.iceberg.PartitionSpec manifestPartitionSpec, @NotNull org.apache.iceberg.ManifestFile manifestFile, @NotNull org.apache.iceberg.DataFile dataFile, @NotNull URI fileUri, int order, @Nullable Map<String, Comparable<?>> partitions, @NotNull ParquetInstructions readInstructions, @NotNull SeekableChannelsProvider channelsProvider, @NotNull List<SortColumn> sortedColumns) Construct a new IcebergTableParquetLocationKey for the suppliedfileUriandpartitions. -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(@NotNull TableLocationKey other) When comparing with anotherIcebergTableParquetLocationKey, precedence-wise this implementation compares:ordercatalogNameuuidtableIdentifierdataSequenceNumberfileSequenceNumbermanifestSequenceNumberdataFilePosuriOtherwise, it delegates to the parent class.booleanGet a name for the implementing class.inthashCode()org.apache.iceberg.PartitionSpecGet the read instructions for the location.Methods inherited from class io.deephaven.parquet.table.location.ParquetTableLocationKey
clear, getFileMetadata, getFileReader, getMetadata, getRowGroupIndices, getSchema, setFileReader, setMetadata, setRowGroupIndicesMethods inherited from class io.deephaven.engine.table.impl.locations.local.URITableLocationKey
append, getURI, toStringMethods inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
getPartitionKeys, getPartitionValueMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.locations.ImmutableTableLocationKey
makeImmutableMethods inherited from interface io.deephaven.base.log.LogOutputAppendable
appendMethods inherited from interface io.deephaven.engine.table.impl.locations.TableLocationKey
clear, getPartitionKeys, getPartitionValue
-
Constructor Details
-
IcebergTableParquetLocationKey
public IcebergTableParquetLocationKey(@Nullable @Nullable String catalogName, @Nullable @Nullable UUID tableUuid, @NotNull @NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier, @NotNull @NotNull org.apache.iceberg.PartitionSpec manifestPartitionSpec, @NotNull @NotNull org.apache.iceberg.ManifestFile manifestFile, @NotNull @NotNull org.apache.iceberg.DataFile dataFile, @NotNull @NotNull URI fileUri, int order, @Nullable @Nullable Map<String, Comparable<?>> partitions, @NotNull @NotNull ParquetInstructions readInstructions, @NotNull @NotNull SeekableChannelsProvider channelsProvider, @NotNull @NotNull List<SortColumn> sortedColumns) Construct a new IcebergTableParquetLocationKey for the suppliedfileUriandpartitions.- Parameters:
catalogName- The name of the catalog using which the table is accessedtableUuid- The UUID of the table, ornullif not availabletableIdentifier- The table identifier used to access the tablemanifestFile- The manifest file from which the data file was discovereddataFile- The data file that backs the keyed locationfileUri- TheURIfor the file that backs the keyed locationorder- Explicit ordering index, taking precedence over other fieldspartitions- The table partitions enclosing the table location keyed bythis. Note that if this parameter isnull, the location will be a member of no partitions. An ordered copy of the map will be made, so the calling code is free to mutate the map after this callreadInstructions- the instructions for customizations while readingchannelsProvider- the provider for reading the filesortedColumns- an ordered list of columns this location is sorted by.
-
-
Method Details
-
manifestPartitionSpec
public org.apache.iceberg.PartitionSpec manifestPartitionSpec() -
getImplementationName
Description copied from interface:NamedImplementationGet a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendableor overridetoString.The default implementation is correct, but not suitable for high-frequency usage.
- Specified by:
getImplementationNamein interfaceNamedImplementation- Overrides:
getImplementationNamein classParquetTableLocationKey- Returns:
- A name for the implementing class
-
readInstructions
Description copied from interface:IcebergTableLocationKeyGet the read instructions for the location.- Specified by:
readInstructionsin interfaceIcebergTableLocationKey- Returns:
- the read instructions
-
compareTo
When comparing with anotherIcebergTableParquetLocationKey, precedence-wise this implementation compares:ordercatalogNameuuidtableIdentifierdataSequenceNumberfileSequenceNumbermanifestSequenceNumberdataFilePosuri
When comparing with another
URITableLocationKey, precedence-wise this implementation comparesorder, then applies aPartitionedTableLocationKey.PartitionsComparatortopartitions, then comparesuri. Otherwise, it delegates to parent class.By default, compare fully qualified class names of the implementing classes. This method is a fallback where the implementing classes are not directly comparable, and should help establish a consistent ordering between distinct implementations.
- Specified by:
compareToin interfaceComparable<TableLocationKey>- Specified by:
compareToin interfaceTableLocationKey- Overrides:
compareToin classURITableLocationKey
-
equals
- Overrides:
equalsin classURITableLocationKey
-
hashCode
public int hashCode()- Overrides:
hashCodein classURITableLocationKey
-