Apache Iceberg™:Snowflake 管理的表的新写入路径¶
对于 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_LOCATION
或BASE_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