Class TableWriterOptions

java.lang.Object
io.deephaven.iceberg.util.TableWriterOptions
Direct Known Subclasses:
TableParquetWriterOptions

public abstract class TableWriterOptions extends Object
  • Constructor Details

    • TableWriterOptions

      public TableWriterOptions()
  • Method Details

    • tableDefinition

      public abstract TableDefinition tableDefinition()
      The TableDefinition to use when writing Iceberg data files, instead of the one implied by the table being written itself. This definition can be used to skip some columns or add additional columns with null values.
    • dataInstructions

      public abstract Optional<Object> dataInstructions()
      The data instructions to use for writing the Iceberg data files (might be S3Instructions or other cloud provider-specific instructions). If not provided, data instructions will be derived from the properties of the catalog.
    • schemaProvider

      @Default public SchemaProvider schemaProvider()
      Used to extract a Schema from a table. That schema will be used in conjunction with the fieldIdToColumnName() to map Deephaven columns from tableDefinition() to Iceberg columns. If fieldIdToColumnName() is not provided, the mapping is done by column name.

      Defaults to SchemaProvider.fromCurrent().

    • fieldIdToColumnName

      public abstract Map<Integer,String> fieldIdToColumnName()
      A one-to-one map from Iceberg field IDs from the schemaProvider() to Deephaven column names from the tableDefinition().
    • sortOrderProvider

      @Default public SortOrderProvider sortOrderProvider()
      Specifies the SortOrder to use for sorting new data when writing to an Iceberg table with this writer. The sort order is determined at the time the writer is created and does not change if the table's sort order changes later.

      Defaults to SortOrderProvider.useTableDefault().