#[non_exhaustive]pub struct IcebergTableMetadata {
pub format_version: Option<String>,
pub table_uuid: Option<String>,
pub location: Option<String>,
pub properties: Option<HashMap<String, String>>,
pub schemas: Option<Vec<IcebergSchema>>,
pub current_schema_id: i32,
pub last_column_id: i32,
pub partition_specs: Option<Vec<IcebergPartitionSpec>>,
pub default_spec_id: i32,
pub last_partition_id: i32,
pub sort_orders: Option<Vec<IcebergSortOrder>>,
pub default_sort_order_id: i32,
}Expand description
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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.format_version: Option<String>The Apache Iceberg table format version, such as 1 or 2. Determines the set of features and on-disk layout supported by the table.
table_uuid: Option<String>The unique identifier (UUID) for the Iceberg table, assigned when the table is created and used to track the table across metadata updates.
location: Option<String>The base S3 location where the Iceberg table's data and metadata files are stored.
properties: Option<HashMap<String, String>>A map of key-value pairs that define table-level properties and configuration settings for the Iceberg table.
schemas: Option<Vec<IcebergSchema>>The list of schemas that have been associated with the Iceberg table over its history, supporting schema evolution.
current_schema_id: i32The identifier of the schema that is currently active for the Iceberg table. Matches an entry in Schemas.
last_column_id: i32The highest column identifier that has been assigned in the Iceberg table's schema, used to ensure unique IDs as new columns are added.
partition_specs: Option<Vec<IcebergPartitionSpec>>The list of partition specifications that have been associated with the Iceberg table over its history, supporting partition evolution.
default_spec_id: i32The identifier of the partition specification that is currently used by default when writing new data to the Iceberg table.
last_partition_id: i32The highest partition field identifier that has been assigned across the table's partition specifications.
sort_orders: Option<Vec<IcebergSortOrder>>The list of sort order specifications that have been associated with the Iceberg table over its history.
default_sort_order_id: i32The identifier of the sort order that is currently used by default when writing new data to the Iceberg table.
Implementations§
Source§impl IcebergTableMetadata
impl IcebergTableMetadata
Sourcepub fn format_version(&self) -> Option<&str>
pub fn format_version(&self) -> Option<&str>
The Apache Iceberg table format version, such as 1 or 2. Determines the set of features and on-disk layout supported by the table.
Sourcepub fn table_uuid(&self) -> Option<&str>
pub fn table_uuid(&self) -> Option<&str>
The unique identifier (UUID) for the Iceberg table, assigned when the table is created and used to track the table across metadata updates.
Sourcepub fn location(&self) -> Option<&str>
pub fn location(&self) -> Option<&str>
The base S3 location where the Iceberg table's data and metadata files are stored.
Sourcepub fn properties(&self) -> Option<&HashMap<String, String>>
pub fn properties(&self) -> Option<&HashMap<String, String>>
A map of key-value pairs that define table-level properties and configuration settings for the Iceberg table.
Sourcepub fn schemas(&self) -> &[IcebergSchema]
pub fn schemas(&self) -> &[IcebergSchema]
The list of schemas that have been associated with the Iceberg table over its history, supporting schema evolution.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .schemas.is_none().
Sourcepub fn current_schema_id(&self) -> i32
pub fn current_schema_id(&self) -> i32
The identifier of the schema that is currently active for the Iceberg table. Matches an entry in Schemas.
Sourcepub fn last_column_id(&self) -> i32
pub fn last_column_id(&self) -> i32
The highest column identifier that has been assigned in the Iceberg table's schema, used to ensure unique IDs as new columns are added.
Sourcepub fn partition_specs(&self) -> &[IcebergPartitionSpec]
pub fn partition_specs(&self) -> &[IcebergPartitionSpec]
The list of partition specifications that have been associated with the Iceberg table over its history, supporting partition evolution.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .partition_specs.is_none().
Sourcepub fn default_spec_id(&self) -> i32
pub fn default_spec_id(&self) -> i32
The identifier of the partition specification that is currently used by default when writing new data to the Iceberg table.
Sourcepub fn last_partition_id(&self) -> i32
pub fn last_partition_id(&self) -> i32
The highest partition field identifier that has been assigned across the table's partition specifications.
Sourcepub fn sort_orders(&self) -> &[IcebergSortOrder]
pub fn sort_orders(&self) -> &[IcebergSortOrder]
The list of sort order specifications that have been associated with the Iceberg table over its history.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .sort_orders.is_none().
Sourcepub fn default_sort_order_id(&self) -> i32
pub fn default_sort_order_id(&self) -> i32
The identifier of the sort order that is currently used by default when writing new data to the Iceberg table.
Source§impl IcebergTableMetadata
impl IcebergTableMetadata
Sourcepub fn builder() -> IcebergTableMetadataBuilder
pub fn builder() -> IcebergTableMetadataBuilder
Creates a new builder-style object to manufacture IcebergTableMetadata.
Trait Implementations§
Source§impl Clone for IcebergTableMetadata
impl Clone for IcebergTableMetadata
Source§fn clone(&self) -> IcebergTableMetadata
fn clone(&self) -> IcebergTableMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IcebergTableMetadata
impl Debug for IcebergTableMetadata
Source§impl PartialEq for IcebergTableMetadata
impl PartialEq for IcebergTableMetadata
impl StructuralPartialEq for IcebergTableMetadata
Auto Trait Implementations§
impl Freeze for IcebergTableMetadata
impl RefUnwindSafe for IcebergTableMetadata
impl Send for IcebergTableMetadata
impl Sync for IcebergTableMetadata
impl Unpin for IcebergTableMetadata
impl UnsafeUnpin for IcebergTableMetadata
impl UnwindSafe for IcebergTableMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more