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¶
The DatabaseResource this reference belongs to.
- fully_qualified_name¶
Return the fully qualified name of the object this reference points to.
- root¶
The Root object this reference belongs to.
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.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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)
- convert_to_managed_async(base_location: Annotated[str, Strict(strict=True)] | None = None, storage_serialization_policy: Annotated[str, Strict(strict=True)] | None = None, if_exists: bool = False) PollingOperation[None]¶
An asynchronous version of
convert_to_managed().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- drop(if_exists: bool = False) None¶
Drop this Iceberg table.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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)
- drop_async(if_exists: bool = False) PollingOperation[None]¶
An asynchronous version of
drop().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- fetch() IcebergTable¶
Fetch the details of an Iceberg table.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
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)
- fetch_async() PollingOperation[IcebergTable]¶
An asynchronous version of
fetch().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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)
- refresh_async(metadata_file_relative_path: Annotated[str, Strict(strict=True)] | None = None, if_exists: bool = False) PollingOperation[None]¶
An asynchronous version of
refresh().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- resume_recluster(if_exists: bool = False) None¶
Resume reclustering for an Iceberg table.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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)
- resume_recluster_async(if_exists: bool = False) PollingOperation[None]¶
An asynchronous version of
resume_recluster().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- suspend_recluster(if_exists: bool = False) None¶
Suspend reclustering for an Iceberg table.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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)
- suspend_recluster_async(if_exists: bool = False) PollingOperation[None]¶
An asynchronous version of
suspend_recluster().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- undrop() None¶
Undrop an Iceberg table.
ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.
- 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)
- undrop_async() PollingOperation[None]¶
An asynchronous version of
undrop().Refer to
PollingOperationfor more information on asynchronous execution and the return type.ViewFor more information
Go to the SQL command page to view more information about arguments, options, privileges requirements, and usage guidelines.