Class UnboundResolver

java.lang.Object
io.deephaven.iceberg.util.UnboundResolver
All Implemented Interfaces:
ResolverProvider

@Immutable public abstract class UnboundResolver extends Object implements ResolverProvider
This is a resolver provider that will build a Resolver without needing to refer to an explicit Iceberg Schema. This is useful when the caller knows the definition of the table they want to load, and can provide an explicit mapping between the Deephaven columns and Iceberg fields. This is provided as a convenience for cases where explicitly building a Resolver would be more tedious.
  • Constructor Details

    • UnboundResolver

      public UnboundResolver()
  • Method Details

    • builder

      public static UnboundResolver.Builder builder()
    • definition

      public abstract TableDefinition definition()
      The table definition.

      Callers should take care and only use Partitioning columns when they know the Iceberg table will always have identity partitions for said columns. In the general case, Iceberg partitions may evolve over time, which can break the assumptions Deephaven makes about partitioning columns.

      See Also:
    • columnInstructions

      public abstract Map<String,ColumnInstructions> columnInstructions()
      The map from Deephaven column names to instructions for mapping to Iceberg columns. Any columns from definition() not in this map will be assumed to be exact name matches for the fields in the Schema.
      See Also:
    • schema

      @Default public SchemaProvider schema()
      The schema to use for inference. By default, is SchemaProvider.fromCurrent().