Class IcebergTableMetadata
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<IcebergTableMetadata.Builder,IcebergTableMetadata>
The Apache Iceberg table metadata, including format version, table identifier, schemas, partition specifications, sort orders, and table properties. This structure captures the current state of an Iceberg table's metadata as managed by the Glue Data Catalog.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic IcebergTableMetadata.Builderbuilder()final IntegerThe identifier of the schema that is currently active for the Iceberg table.final IntegerThe identifier of the sort order that is currently used by default when writing new data to the Iceberg table.final IntegerThe identifier of the partition specification that is currently used by default when writing new data to the Iceberg table.final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final StringThe Apache Iceberg table format version, such as1or2.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final inthashCode()final booleanFor responses, this returns true if the service returned a value for the PartitionSpecs property.final booleanFor responses, this returns true if the service returned a value for the Properties property.final booleanFor responses, this returns true if the service returned a value for the Schemas property.final booleanFor responses, this returns true if the service returned a value for the SortOrders property.final IntegerThe highest column identifier that has been assigned in the Iceberg table's schema, used to ensure unique IDs as new columns are added.final IntegerThe highest partition field identifier that has been assigned across the table's partition specifications.final Stringlocation()The base S3 location where the Iceberg table's data and metadata files are stored.final List<IcebergPartitionSpec> The list of partition specifications that have been associated with the Iceberg table over its history, supporting partition evolution.A map of key-value pairs that define table-level properties and configuration settings for the Iceberg table.final List<IcebergSchema> schemas()The list of schemas that have been associated with the Iceberg table over its history, supporting schema evolution.static Class<? extends IcebergTableMetadata.Builder> final List<IcebergSortOrder> The list of sort order specifications that have been associated with the Iceberg table over its history.final StringThe unique identifier (UUID) for the Iceberg table, assigned when the table is created and used to track the table across metadata updates.Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
formatVersion
The Apache Iceberg table format version, such as
1or2. Determines the set of features and on-disk layout supported by the table.- Returns:
- The Apache Iceberg table format version, such as
1or2. Determines the set of features and on-disk layout supported by the table.
-
tableUuid
The unique identifier (UUID) for the Iceberg table, assigned when the table is created and used to track the table across metadata updates.
- Returns:
- The unique identifier (UUID) for the Iceberg table, assigned when the table is created and used to track the table across metadata updates.
-
location
The base S3 location where the Iceberg table's data and metadata files are stored.
- Returns:
- The base S3 location where the Iceberg table's data and metadata files are stored.
-
hasProperties
public final boolean hasProperties()For responses, this returns true if the service returned a value for the Properties property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
properties
A map of key-value pairs that define table-level properties and configuration settings for the Iceberg table.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasProperties()method.- Returns:
- A map of key-value pairs that define table-level properties and configuration settings for the Iceberg table.
-
hasSchemas
public final boolean hasSchemas()For responses, this returns true if the service returned a value for the Schemas property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
schemas
The list of schemas that have been associated with the Iceberg table over its history, supporting schema evolution.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSchemas()method.- Returns:
- The list of schemas that have been associated with the Iceberg table over its history, supporting schema evolution.
-
currentSchemaId
The identifier of the schema that is currently active for the Iceberg table. Matches an entry in
Schemas.- Returns:
- The identifier of the schema that is currently active for the Iceberg table. Matches an entry in
Schemas.
-
lastColumnId
The highest column identifier that has been assigned in the Iceberg table's schema, used to ensure unique IDs as new columns are added.
- Returns:
- The highest column identifier that has been assigned in the Iceberg table's schema, used to ensure unique IDs as new columns are added.
-
hasPartitionSpecs
public final boolean hasPartitionSpecs()For responses, this returns true if the service returned a value for the PartitionSpecs property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
partitionSpecs
The list of partition specifications that have been associated with the Iceberg table over its history, supporting partition evolution.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasPartitionSpecs()method.- Returns:
- The list of partition specifications that have been associated with the Iceberg table over its history, supporting partition evolution.
-
defaultSpecId
The identifier of the partition specification that is currently used by default when writing new data to the Iceberg table.
- Returns:
- The identifier of the partition specification that is currently used by default when writing new data to the Iceberg table.
-
lastPartitionId
The highest partition field identifier that has been assigned across the table's partition specifications.
- Returns:
- The highest partition field identifier that has been assigned across the table's partition specifications.
-
hasSortOrders
public final boolean hasSortOrders()For responses, this returns true if the service returned a value for the SortOrders property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
sortOrders
The list of sort order specifications that have been associated with the Iceberg table over its history.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSortOrders()method.- Returns:
- The list of sort order specifications that have been associated with the Iceberg table over its history.
-
defaultSortOrderId
The identifier of the sort order that is currently used by default when writing new data to the Iceberg table.
- Returns:
- The identifier of the sort order that is currently used by default when writing new data to the Iceberg table.
-
toBuilder
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<IcebergTableMetadata.Builder,IcebergTableMetadata> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo- Returns:
- The mapping between the field name and its corresponding field.
-