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()
      • getType

        public Content.Type getType()
        Description copied from class: Content
        Returns the Content.Type enum constant for this content object.

        The name of the returned enum value should match the JSON type name used for serializing the content object.

        Specified by:
        getType in class Content
      • 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)