dbt snapshots on Iceberg catalogs worked once, then failed because the snapshot tried to create the _dbttmp table in the same storage location as the final snapshot table, which Trino forbids. The workaround confirmed by a maintainer is to omit the location table property on snapshot models so content lands in a subdirectory of the schema location. Since dbt-trino v1.7.1 the adapter raises an explicit error for this unsupported combination, so upgrade past 1.7.1 to get the clear message instead of the cryptic failure.
Fix dbt-trino snapshot failing to create __dbt_tmp after first run
My snapshot ran once and then every rerun failed creating __dbt_tmp. A dbt-trino maintainer confirmed the cause: with an explicit location property, the temp table targets the same location as the snapshot table, which Trino rejects. Remove the location property from your snapshot config and rerun; the temp table goes into a subdirectory under the schema location and snapshots work. Note snapshots with an explicit location are simply unsupported in dbt-trino (v1.7.1+ raises a clear error saying so), so do not try to force it. Source: https://github.com/starburstdata/dbt-trino/issues/346
Source: https://github.com/starburstdata/dbt-trino/issues/346