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 abstract 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.
    • 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.