Class InferenceInstructions

java.lang.Object
io.deephaven.iceberg.util.InferenceInstructions

@Immutable public abstract class InferenceInstructions extends Object
  • Constructor Details

    • InferenceInstructions

      public InferenceInstructions()
  • Method Details

    • builder

      public static InferenceInstructions.Builder builder()
    • of

      public static InferenceInstructions of(org.apache.iceberg.Schema schema)
      Creates a default inference instructions for schema.
      Parameters:
      schema - the schema
      Returns:
      the inference instructions
    • schema

      public final org.apache.iceberg.Schema schema()
      The schema to use for inference. The resulting definition will have columns in the same order as defined by this Schema. Equality for this Schema is defined by SchemaProvider.sameSchemaAndId(Schema, Schema).
    • spec

      public abstract Optional<org.apache.iceberg.PartitionSpec> spec()
      The partition spec to use for inference. The identity transforms of this PartitionSpec will be used to make the resulting definition have the relevant Partitioning columns.

      Warning: inferring using a partition spec for general-purpose use is dangerous. This is only meant to be applied in situations where callers are working with a fixed set of data files that have this spec (or a superset of this spec); or, when the caller is able to guarantee that all current and future data files will have this spec (or a superset of this spec).

    • namerFactory

      @Default public InferenceInstructions.Namer.Factory namerFactory()
      The namer factory. Defaults to fieldName("_"), which will create Deephaven column name by joining together the field names with an underscore and legalize the name if necessary.
      See Also:
    • failOnUnsupportedTypes

      @Default public boolean failOnUnsupportedTypes()
      If inference should fail if any of the Iceberg fields fail to map to Deephaven columns. By default, is false.