snowflake.core.iceberg_table.IcebergTableResource¶

class snowflake.core.iceberg_table.IcebergTableResource(name: Annotated[str, Strict(strict=True)], collection: IcebergTableCollection)¶

Bases: SchemaObjectReferenceMixin[IcebergTableCollection]

Represents a reference to a Snowflake Iceberg table.

With this Iceberg table reference, you can create, update, delete and fetch information about Iceberg tables, as well as perform certain actions on them.

Attributes

database¶
fully_qualified_name¶
root¶

Methods

convert_to_managed(base_location: Annotated[str, Strict(strict=True)] | None = None, storage_serialization_policy: Annotated[str, Strict(strict=True)] | None = None, if_exists: bool = False) → None¶

Convert Iceberg table using external Iceberg catalog into a table that uses Snowflake as the catalog.

Parameters:
  • base_location (str, optional) – The path to a directory where Snowflake can write data and metadata files for the table.

  • storage_serialization_policy (str, optional) – Specifies the storage serialization policy for the table.

  • if_exists (bool, optional) – Whether to error if the Iceberg table doesn’t exist. Default is False.

Examples

Converts an Iceberg table to managed table using its reference, errors if it doesn’t exist:

>>> iceberg_table.convert_to_managed()
Copy

Converts an Iceberg table to managed table using its reference, if it exists:

>>> iceberg_table.convert_to_managed(if_exists=True)
Copy
drop(if_exists: bool = False) → None¶

Drop this Iceberg table.

Parameters:

if_exists (bool, optional) – Whether to error if the Iceberg table doesn’t exist. Default is False.

Examples

Deleting an Iceberg table using its reference, error if it doesn’t exist:

>>> iceberg_table_reference.drop()
Copy

Deleting an Iceberg table using its reference, if it exists:

>>> iceberg_table_reference.drop(if_exists=True)
Copy
fetch() → IcebergTable¶

Fetch the details of an Iceberg table.

Examples

Fetching a reference to an Iceberg table to print its name:

>>> iceberg_table_reference = root.databases["my_db"].schemas["my_schema"].iceberg_tables["foo"]
>>> my_iceberg_table = iceberg_table_reference.fetch()
>>> print(my_iceberg_table.name)
Copy
refresh(metadata_file_relative_path: Annotated[str, Strict(strict=True)] | None = None, if_exists: bool = False) → None¶

Refresh the metadata for an Iceberg table that uses an external Iceberg catalog.

Parameters:
  • metadata_file_relative_path (str, optional) – Specifies a metadata file path for a table created from Iceberg files in object storage.

  • if_exists (bool, optional) – Whether to error if the Iceberg table doesn’t exist. Default is False.

Examples

To refresh an Iceberg table using its reference, error if it doesn’t exist:

>>> iceberg_table.refresh()
Copy

To refresh an Iceberg table using its reference, if it exists:

>>> iceberg_table.refresh(if_exists=True)
Copy
resume_recluster(if_exists: bool = False) → None¶

Resume reclustering for an Iceberg table.

Parameters:

if_exists (bool, optional) – Whether to error if the Iceberg table doesn’t exist. Default is False.

Examples

To resume reclustering for an Iceberg table using its reference, error if it doesn’t exist:

>>> iceberg_table.resume_recluster()
Copy

To resume reclustering for an Iceberg table using its reference, if it exists:

>>> iceberg_table.resume_recluster(if_exists=True)
Copy
suspend_recluster(if_exists: bool = False) → None¶

Suspend reclustering for an Iceberg table.

Parameters:

if_exists (bool, optional) – Whether to error if the Iceberg table doesn’t exist. Default is False.

Examples

To suspend reclustering for an Iceberg table using its reference, error if it doesn’t exist:

>>> iceberg_table.suspend_recluster()
Copy

To suspend reclustering for an Iceberg table using its reference, if it exists:

>>> iceberg_table.suspend_recluster(if_exists=True)
Copy
undrop() → None¶

Undrop an Iceberg table.

Parameters:

if_exists (bool, optional) – Whether to error if the Iceberg table doesn’t exist. Default is False.

Examples

To undrop an Iceberg table using its reference, error if it doesn’t exist:

>>> iceberg_table.undrop()
Copy

To undrop an Iceberg table using its reference, if it exists:

>>> iceberg_table.undrop(if_exists=True)
Copy