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()
Converts an Iceberg table to managed table using its reference, if it exists:
>>> iceberg_table.convert_to_managed(if_exists=True)
- 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()
Deleting an Iceberg table using its reference, if it exists:
>>> iceberg_table_reference.drop(if_exists=True)
- 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)
- 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()
To refresh an Iceberg table using its reference, if it exists:
>>> iceberg_table.refresh(if_exists=True)
- 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()
To resume reclustering for an Iceberg table using its reference, if it exists:
>>> iceberg_table.resume_recluster(if_exists=True)
- 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()
To suspend reclustering for an Iceberg table using its reference, if it exists:
>>> iceberg_table.suspend_recluster(if_exists=True)
- 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()
To undrop an Iceberg table using its reference, if it exists:
>>> iceberg_table.undrop(if_exists=True)