{"id":9645,"library":"dbt-dremio","title":"dbt-Dremio Adapter","description":"dbt-dremio is the Dremio adapter plugin for dbt (data build tool), enabling data teams to transform data directly within Dremio using dbt's SQL-based workflows. It allows users to define models, tests, and documentation, then execute them against Dremio for efficient data transformations. The current version is 1.10.0, with new releases typically aligning with dbt-core's major version updates, often every 1-3 months.","status":"active","version":"1.10.0","language":"en","source_language":"en","source_url":"https://github.com/dremio/dbt-dremio","tags":["dbt","data-transformation","etl","data-warehouse","dremio","adapter","sql"],"install":[{"cmd":"pip install dbt-dremio","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"This package is a dbt adapter and requires a compatible version of dbt-core to function. Major versions of dbt-dremio are tied to specific dbt-core versions.","package":"dbt-core","optional":false}],"imports":[{"note":"dbt-dremio is a dbt adapter plugin and is not imported directly into Python scripts. It is loaded by dbt-core based on your profiles.yml configuration.","symbol":"dbt-dremio adapter","correct":"Configured in profiles.yml"}],"quickstart":{"code":"# 1. Create a dbt project (if you don't have one)\n# dbt init my_dremio_project\n\n# 2. Configure your profiles.yml (typically at ~/.dbt/profiles.yml)\n# --- profiles.yml ---\n# my_dremio_profile:\n#   target: dev\n#   outputs:\n#     dev:\n#       type: dremio\n#       host: <your_dremio_host> # e.g., localhost or cloud.dremio.com\n#       port: 31010 # or 443 for Dremio Cloud\n#       username: <your_dremio_username>\n#       password: <your_dremio_password>\n#       schema: <your_schema>\n#       threads: 1\n#       db_name: Dremio # Can be 'Dremio' for Dremio Cloud, or your specific project ID\n#       catalog: <your_catalog_name> # Optional, for Dremio Enterprise Catalogs (v1.9.0+)\n#       disable_ssl_verification: true # Use with caution, for self-signed certificates\n# --- end profiles.yml ---\n\n# 3. Create a sample dbt model (e.g., models/my_first_model.sql)\n-- models/my_first_model.sql\nSELECT\n    1 as id,\n    'hello' as message\n\n# 4. Run dbt commands from your project directory\n# dbt debug\n# dbt run\n# dbt test\n","lang":"bash","description":"To get started with dbt-dremio, you need to configure your dbt `profiles.yml` to specify the connection details for your Dremio instance. Then, you can define your SQL models and run them using the dbt CLI. Ensure your dbt project is configured to use the Dremio profile. Remember to replace placeholders like `<your_dremio_host>`, `<your_dremio_username>`, `<your_dremio_password>`, and `<your_schema>` with your actual Dremio credentials and configuration."},"warnings":[{"fix":"Always check the dbt-dremio release notes for the compatible dbt-core version and upgrade both packages in tandem: `pip install --upgrade dbt-core dbt-dremio`.","message":"Each major release of dbt-dremio (e.g., v1.7.0, v1.8.0, v1.9.0, v1.10.0) is designed to be compatible with a specific major version of dbt-core. Upgrading dbt-core without upgrading dbt-dremio (or vice-versa) can lead to unexpected errors.","severity":"breaking","affected_versions":"<=1.10.0"},{"fix":"Be aware that dbt model contracts and constraints might not be fully functional or enforced when using dbt-dremio. Consult the dbt-dremio documentation or GitHub issues for updates on future support.","message":"Model contracts and constraints, introduced in dbt-core v1.5.0, are 'stubbed' in dbt-dremio, meaning the adapter acknowledges the feature but does not fully support enforcement within Dremio. Attempting to use these features may not result in the expected behavior or error handling.","severity":"gotcha","affected_versions":">=1.5.0"},{"fix":"Upgrade to dbt-dremio v1.5.1 or newer to benefit from performance improvements in view creation: `pip install --upgrade dbt-dremio`.","message":"Prior to v1.5.1, the `create_view_as` macro included superfluous parentheses around views, which could lead to performance issues in more complex queries.","severity":"gotcha","affected_versions":"<1.5.1"},{"fix":"Upgrade to dbt-dremio v1.5.1 or newer. If you must use an older version, investigate if explicitly disabling model data fetching is possible (though the official fix is to upgrade).","message":"In versions prior to v1.5.1, fetching model data was enabled by default, which could negatively impact performance. This behavior was changed in v1.5.1 to be `false` by default.","severity":"gotcha","affected_versions":"<1.5.1"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"Double-check all connection parameters in your `profiles.yml` against your Dremio instance. Ensure Dremio is running and accessible from where dbt is executed. Verify proxy settings or firewall rules if applicable.","cause":"Incorrect Dremio host, port, username, password, or schema configured in your `profiles.yml`. Network connectivity issues or firewall blocks can also cause this.","error":"ERROR dbt.exceptions.FailedToConnectException: Could not connect to Dremio with the provided credentials."},{"fix":"Review the Dremio documentation for supported SQL functions and syntax. Refactor your SQL to comply with Dremio's dialect. Test complex queries directly in Dremio before integrating into dbt models.","cause":"The SQL query in your dbt model uses syntax or functions that are not supported by the Dremio SQL dialect or your specific Dremio version.","error":"dbt.exceptions.DbtRuntimeError: Runtime Error: Compilation Error in model <model_name>... Syntax Error: <Dremio-specific error>"},{"fix":"Ensure `dbt-dremio` is installed in the same Python environment as `dbt-core`. Run `pip install dbt-dremio`. If issues persist, try reinstalling both: `pip uninstall dbt-core dbt-dremio; pip install dbt-core dbt-dremio`.","cause":"`dbt-dremio` is either not installed or not correctly recognized by dbt-core. This can happen if dbt-core was installed in a different Python environment or if there's a conflict.","error":"dbt.exceptions.DbtRuntimeError: Could not find adapter for type 'dremio'."}]}