Changing the table metadata location
From Hive and Impala, you can change the table metadata location, also known as the snapshot location.
Configuring security of Iceberg file metadata
In this release, you can prevent overrides of the Iceberg file metadata location by
unauthorized users. If you do not prevent overrides, an unauthorized party who knows the
underlying schema and file location outside the table location can rewrite the manifest
files within one table location to point to the data files in another table location to read
your data. You accept the default (true), or set a property in the Virtual Warehouse to
true to prevent overrides:
- Hive property:
hive.iceberg.allow.datafiles.in.table.location.only
SET hive.iceberg.allow.datafiles.in.table.location.only = true;
- Impala property:
iceberg_restrict_data_file_location
SET iceberg_restrict_data_file_location = true;
Prerequisites for changing the metadata location
-
The new location must contain exactly the same metadata json file as the old location.
-
Before changing the metadata location, you must migrate the table to Iceberg.
After migrating a table to Iceberg, you can change the metadata location using ALTER TABLE as shown below:
Hive and Impala example
ALTER TABLE test_table SET TBLPROPERTIES('metadata_location'='s3a://bucketName/ice_table/metadata/v1.metadata.json');