Class IcebergTable

  • Direct Known Subclasses:
    ImmutableIcebergTable

    @Immutable
    public abstract class IcebergTable
    extends Content
    Represents the state of an Iceberg table in Nessie. An Iceberg table is globally identified via its unique ID.

    The Iceberg-table-state consists of the location to the table-metadata and the state of relevant IDs using a serialized version of those.

    When adding a new table (aka content-object identified by a content-id), use a Operation.Put without an expected-value. In all other cases (updating an existing table). always pass the last known version of IcebergTable as the expected-value within the put-operation.

    • Constructor Detail

      • IcebergTable

        public IcebergTable()
    • Method Detail

      • getMetadataLocation

        @NotNull
        @NotBlank
        public abstract @NotNull @NotBlank String getMetadataLocation()
        Location where Iceberg stored its TableMetadata file. The location depends on the (implementation of) Iceberg's FileIO configured for the particular Iceberg table.
      • getSnapshotId

        public abstract long getSnapshotId()
      • getSchemaId

        public abstract int getSchemaId()
      • getSpecId

        public abstract int getSpecId()
      • getSortOrderId

        public abstract int getSortOrderId()
      • of

        public static IcebergTable of​(String metadataLocation,
                                      long snapshotId,
                                      int schemaId,
                                      int specId,
                                      int sortOrderId)
      • of

        public static IcebergTable of​(String metadataLocation,
                                      long snapshotId,
                                      int schemaId,
                                      int specId,
                                      int sortOrderId,
                                      String contentId)