Apache Iceberg™ tables: New write location for empty string BASE_LOCATION

Attention

This behavior change is in the 2024_03 bundle.

For the current status of the bundle, refer to Bundle History.

For Apache Iceberg™ tables that use Snowflake as the catalog, the write location is as follows when you specify an empty string as the relative path from your external volume (BASE_LOCATION = ''):

Before the change:

Snowflake creates a directory under your external volume location (STORAGE_BASE_URL) using the table name and entity ID, and writes to subdirectories named data and metadata in the new directory.

For example:

  • s3://my/storage/base/url/table_name_entity_id/data

  • s3://my/storage/base/url/table_name_entity_id/metadata

After the change:

Snowflake writes to subdirectories named data and metadata that appear directly under your external volume location.

For example:

  • s3://my/storage/base/url/data

  • s3://my/storage/base/url/metadata

You can still access any data that was written before the behavior change in the previous locations under the table_name_entity_id directory.

This behavior change also applies to converted Iceberg tables.

Ref: 1534