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>
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, uri
Fields inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
partitions
-
Constructor Summary
ConstructorDescriptionIcebergTableParquetLocationKey
(@Nullable String catalogName, @Nullable UUID tableUuid, @NotNull org.apache.iceberg.catalog.TableIdentifier tableIdentifier, @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) Construct a new IcebergTableParquetLocationKey for the suppliedfileUri
andpartitions
. -
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(@NotNull TableLocationKey other) When comparing with anotherIcebergTableParquetLocationKey
, precedence-wise this implementation compares:order
catalogName
uuid
tableIdentifier
dataSequenceNumber
fileSequenceNumber
manifestSequenceNumber
dataFilePos
uri
Otherwise, it delegates to the parent class.boolean
Get a name for the implementing class.int
hashCode()
Get the read instructions for the location.Methods inherited from class io.deephaven.parquet.table.location.ParquetTableLocationKey
clear, getFileReader, getMetadata, getRowGroupIndices, setFileReader, setMetadata, setRowGroupIndices
Methods inherited from class io.deephaven.engine.table.impl.locations.local.URITableLocationKey
append, getURI, toString
Methods inherited from class io.deephaven.engine.table.impl.locations.impl.PartitionedTableLocationKey
getPartitionKeys, getPartitionValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.table.impl.locations.ImmutableTableLocationKey
makeImmutable
Methods inherited from interface io.deephaven.base.log.LogOutputAppendable
append
Methods 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.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) Construct a new IcebergTableParquetLocationKey for the suppliedfileUri
andpartitions
.- Parameters:
catalogName
- The name of the catalog using which the table is accessedtableUuid
- The UUID of the table, ornull
if 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
- TheURI
for 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 file
-
-
Method Details
-
getImplementationName
Description copied from interface:NamedImplementation
Get a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendable
or overridetoString
.The default implementation is correct, but not suitable for high-frequency usage.
- Specified by:
getImplementationName
in interfaceNamedImplementation
- Overrides:
getImplementationName
in classParquetTableLocationKey
- Returns:
- A name for the implementing class
-
readInstructions
Description copied from interface:IcebergTableLocationKey
Get the read instructions for the location.- Specified by:
readInstructions
in interfaceIcebergTableLocationKey
- Returns:
- the read instructions
-
compareTo
When comparing with anotherIcebergTableParquetLocationKey
, precedence-wise this implementation compares:order
catalogName
uuid
tableIdentifier
dataSequenceNumber
fileSequenceNumber
manifestSequenceNumber
dataFilePos
uri
When comparing with another
URITableLocationKey
, precedence-wise this implementation comparesorder
, then applies aPartitionedTableLocationKey.PartitionsComparator
topartitions
, 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:
compareTo
in interfaceComparable<TableLocationKey>
- Specified by:
compareTo
in interfaceTableLocationKey
- Overrides:
compareTo
in classURITableLocationKey
-
equals
- Overrides:
equals
in classURITableLocationKey
-
hashCode
public int hashCode()- Overrides:
hashCode
in classURITableLocationKey
-