Skip to main content

IcebergTableMetadata

Struct IcebergTableMetadata 

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional 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: i32

The identifier of the schema that is currently active for the Iceberg table. Matches an entry in Schemas.

§last_column_id: 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.

§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: i32

The identifier of the partition specification that is currently used by default when writing new data to the Iceberg table.

§last_partition_id: i32

The 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: i32

The identifier of the sort order that is currently used by default when writing new data to the Iceberg table.

Implementations§

Source§

impl IcebergTableMetadata

Source

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.

Source

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.

Source

pub fn location(&self) -> Option<&str>

The base S3 location where the Iceberg table's data and metadata files are stored.

Source

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.

Source

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().

Source

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.

Source

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.

Source

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().

Source

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.

Source

pub fn last_partition_id(&self) -> i32

The highest partition field identifier that has been assigned across the table's partition specifications.

Source

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().

Source

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

Source

pub fn builder() -> IcebergTableMetadataBuilder

Creates a new builder-style object to manufacture IcebergTableMetadata.

Trait Implementations§

Source§

impl Clone for IcebergTableMetadata

Source§

fn clone(&self) -> IcebergTableMetadata

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IcebergTableMetadata

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for IcebergTableMetadata

Source§

fn eq(&self, other: &IcebergTableMetadata) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for IcebergTableMetadata

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more