Apache Iceberg™:Snowflake 管理的表的新写入路径

注意

此行为变更在 2025_01 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

对于 Snowflake 管理的 Iceberg 表(包括 转换的表动态 Iceberg 表):

变更前:

Snowflake 要求您为表指定 BASE_LOCATION,并将 Parquet 数据文件和表元数据写入外部云存储中的以下路径:

  • STORAGE_BASE_URL/BASE_LOCATION/data/

  • STORAGE_BASE_URL/BASE_LOCATION/metadata/

变更后:

Snowflake 不再需要 BASE_LOCATION,而是使用随机的 8 个字符字符串或称为 BASE_LOCATION_PREFIX 的新架构级字符串参数的值构造路径。

如果您指定 BASE_LOCATION,Snowflake 会忽略并且不使用 BASE_LOCATION_PREFIX

Snowflake 使用以下模式构建路径,具体取决于为 BASE_LOCATIONBASE_LOCATION_PREFIX 指定的值:

  • 无 BASE_LOCATION,无 BASE_LOCATION_PREFIX:STORAGE_BASE_URL/<database>/<schema>/<table_name>.<randomId>/<data | metadata>/

  • 无 BASE_LOCATION,BASE_LOCATION_PREFIX = 'my_prefix': STORAGE_BASE_URL/my_prefix/<table_name>.<randomId>/<data | metadata>/

  • BASE_LOCATION = 'my_base_loc': STORAGE_BASE_URL/my_base_loc.<randomId>/<data | metadata>/

  • BASE_LOCATION = '' (空字符串): STORAGE_BASE_URL/<randomId>/<data | metadata>/

参考:1873

语言: 中文