negordyh
12/02/2025, 9:27 AMedr report fails due to:
• catalog detected as hive.elementary instead of iceberg.elementary
• dict object has no attribute 'config' (in trino__create_table_as)
• Iceberg metadata query errors
Is this a known compatibility issue, or is there a workaround?
and elementary has supported to dbt-trino adapter?kapa.ai
12/02/2025, 9:27 AMkapa.ai
12/02/2025, 9:27 AMdbt-trino is incomplete/experimental, and what you’re hitting lines up with known Trino-related issues rather than a fully supported path. From the sources: 1. “`dict object` has no attribute config in trino__create_table_as This exact error has been reported multiple times when running edr report on Trino or Trino-like setups. It appears in: - A GitHub issue for Trino + Iceberg where edr report fails in trino__create_table_as during get_test_results / log_macro_results.[[Trino error 1886](https://github.com/elementary-data/elementary/issues/1886); [Slack Trino error](https://elementary-community.slack.com/archives/C08HW57FGN9/p1743706430338029?thread_ts=1743706430.338029&cid=C08HW57FGN9)] - Slack threads where users confirm the same stack trace when trying to render the OSS report with Trino.[[Slack Trino error](https://elementary-community.slack.com/archives/C08HW57FGN9/p1743706430338029?thread_ts=1743706430.338029&cid=C08HW57FGN9); [Slack same issue](https://elementary-community.slack.com/archives/C02CTC89LAX/p1741344297909659?thread_ts=1741344297.909659&cid=C02CTC89LAX)] In those threads, the only confirmed “fix” is pinning back to Elementary 0.16.1 (CLI + dbt package) with specific dbt/dbt-trino versions, e.g.:[[Trino error 1886](https://github.com/elementary-data/elementary/issues/1886)] yaml elementary-data[trino]==0.16.1 dbt-core>=1.10,<1.11 dbt-trino>=1.9,<1.10 Even then, some users report the issue still occurring, so this is not a guaranteed workaround.[[Trino error 1886](https://github.com/elementary-data/elementary/issues/1886); [Slack Trino POC](https://elementary-community.slack.com/archives/C02CTC89LAX/p1755076327309039?thread_ts=1755076327.309039&cid=C02CTC89LAX)] 2. Catalog / connector behavior (hive vs iceberg) - For Trino + Delta Lake, users saw ALTER TABLE RENAME limitations and were advised to switch to Iceberg instead of Delta, as Iceberg worked more reliably with Elementary’s models.[[Delta vs Iceberg](https://github.com/elementary-data/elementary/issues/1648)] - For dbt-athena (conceptually similar in terms of Hive vs Iceberg table types), misalignment between hive and iceberg table types caused errors until the package added explicit support (fixed in dbt package 0.18.2).[[Athena table_type issue](https://github.com/elementary-data/elementary/issues/1832)] - For Trino specifically, one community contributor recommends running Elementary on a Trino Iceberg catalog that supports views and typical merge incremental materialization, with dbt config like:[[Trino config advice](https://elementary-community.slack.com/archives/C02CTC89LAX/p1707300944403799?thread_ts=1707300944.403799&cid=C02CTC89LAX); [Trino view support](https://elementary-community.slack.com/archives/C02CTC89LAX/p1716561651807899?thread_ts=1716561651.807899&cid=C02CTC89LAX)] yaml models: elementary: +on_table_exists: drop +database: <your_trino_catalog> # e.g. iceberg +schema: elementary vars: upload_artifacts_method: replace - They also note that if your connector doesn’t support views, you’ll hit errors and may need either +views_enabled: false (risky / untested) or a separate catalog that supports views for Elementary’s schema.[[Trino view support](https://elementary-community.slack.com/archives/C02CTC89LAX/p1716561651807899?thread_ts=1716561651.807899&cid=C02CTC89LAX)] Your symptom “catalog shows as hive.elementary instead of `iceberg.elementary`” fits with this broader theme: Elementary is not reliably detecting / aligning with the correct Trino catalog + table type combination for all setups. I couldn’t find a specific fix for that wrong-catalog detection in the sources. 3. Is dbt-trino officially supported? - There was active community work to add Trino support via PRs and a contributor is running it “in a small to medium production environment without identifiable issues,” but this is described as a community contribution, not as official GA support.[[Trino support PRs](https://elementary-community.slack.com/archives/C02CTC89LAX/p1707300944403799?thread_ts=1707300944.403799&cid=C02CTC89LAX)] - In a more recent Slack thread, a user explicitly asks whether Elementary supports Trino; the answer they got from the #oss-help channel was that Elementary does not support Trino, and that aligns with the repeated unresolved errors around trino__create_table_as.[[Slack Trino POC](https://elementary-community.slack.com/archives/C02CTC89LAX/p1755076327309039?thread_ts=1755076327.309039&cid=C02CTC89LAX)] Based on this, Elementary’s current stance is: Trino is not an officially supported adapter. There are community branches and partial support that can work in some environments, but it’s not guaranteed or fully maintained. --- ### What this means for your setup (0.20.1 + dbt-trino 1.9.3 + Iceberg) From the available information: - The combination of newer Elementary versions (0.17+ / 0.18+ / 0.20+) with dbt-trino is known to hit compilation errors in trino__create_table_as when running edr report.[[Trino error 1886](https://github.com/elementary-data/elementary/issues/1886); [Slack Trino error](https://elementary-community.slack.com/archives/C02CTC89LAX/p1741344297909659?thread_ts=1741344297.909659&cid=C02CTC89LAX)] - There is no documented, reliable workaround in the knowledge sources for 0.20.x + dbt-trino 1.9.x that fixes the dict object has no attribute 'config' error. - The only partially confirmed workaround is: - Try pinning back to Elementary 0.16.1 (CLI + dbt package) and matching dbt/dbt-trino versions as in the comment above, and - Ensure your elementary models are pointed at a Trino Iceberg catalog that supports views and merge, with +on_table_exists: drop.[[Trino error 1886](https://github.com/elementary-data/elementary/issues/1886); [Trino config advice](https://elementary-community.slack.com/archives/C02CTC89LAX/p1707300944403799?thread_ts=1707300944.403799&cid=C02CTC89LAX)] - Even then, other users report that 0.16.1 does not always resolve the issue, so it may not work in your environment.[[Trino error 1886](https://github.com/elementary-data/elementary/issues/1886); [Slack Trino POC](https://elementary-community.slack.com/archives/C02CTC89LAX/p1755076327309039?thread_ts=1755076327.309039&cid=C02CTC89LAX)] --- ### Summary - Yes, your errors (wrong catalog, dict object has no attribute 'config', Iceberg metadata issues) match known problems when using Elementary OSS with dbt-trino. - According to the shared issues and Slack threads, **Trino is not an officially supported Elementary adapter today**; there are community-driven integrations that work in some cases but not all. - The only documented mitigation is to: - Try Elementary 0.16.1 + matching dbt/dbt-trino versions, and - Point the elementary models to a Trino Iceberg catalog with view + merge support via +database, +schema, +on_table_exists: drop. Because the sources don’t describe a clean fix for 0.20.1 with dbt-trino 1.9.3, I can’t confidently suggest more than that downgrade/config approach and, if possible, testing Elementary on a fully supported adapter (e.g., Snowflake, BigQuery, Databricks, Redshift) for production use.negordyh
12/02/2025, 9:32 AM