Skip to content

Commit 63150b9

Browse files
feat: add dbt-fabricspark support to elementary CLI (#2142)
- Add fabricspark__get_adapter_unique_id macro returning target.workspaceid - Include fabricspark in delta file format config in dbt_project.yml - Add fabricspark transient error patterns (Livy API HTTP errors) - Add dbt-fabricspark optional dependency and fabricspark extra in pyproject.toml Closes ELE-5296 Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Itamar Hartstein <haritamar@gmail.com>
1 parent 4566cc2 commit 63150b9

4 files changed

Lines changed: 13 additions & 2 deletions

File tree

elementary/clients/dbt/transient_errors.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,11 @@
118118
# DuckDB runs in-process; transient errors are rare.
119119
# Common patterns (connection reset, broken pipe) are in _COMMON.
120120
),
121+
"fabricspark": (
122+
"502 bad gateway",
123+
"503 service unavailable",
124+
"connection timed out",
125+
),
121126
"fabric": _TSQL_TRANSIENT,
122127
"sqlserver": _TSQL_TRANSIENT,
123128
"vertica": (

elementary/monitor/dbt_project/dbt_project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ vars:
3737

3838
models:
3939
elementary_cli:
40-
+file_format: "{{ 'delta' if target.type == 'spark' else none }}"
40+
+file_format: "{{ 'delta' if target.type in ['spark', 'fabricspark'] else none }}"
4141

4242
quoting:
4343
database: "{{ env_var('DATABASE_QUOTING', 'None') | as_native }}"

elementary/monitor/dbt_project/macros/get_adapter_type_and_unique_id.sql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@
2525
{% macro fabric__get_adapter_unique_id() %}
2626
{{ return(target.server) }}
2727
{% endmacro %}
28+
29+
{% macro fabricspark__get_adapter_unique_id() %}
30+
{{ return(target.workspaceid) }}
31+
{% endmacro %}

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ dbt-clickhouse = {version = ">=0.20,<2.0.0", optional = true}
5757
dbt-duckdb = {version = ">=1.5.0,<2.0.0", optional = true}
5858
dbt-dremio = {version = ">=1.5.0,<2.0.0", optional = true}
5959
dbt-fabric = {version = ">=1.4,<2.0.0", optional = true}
60+
dbt-fabricspark = {version = ">=1.4,<2.0.0", optional = true}
6061
dbt-sqlserver = {version = ">=1.4,<2.0.0", optional = true}
6162
dbt-vertica = {version = ">=1.7,<2.0.0", optional = true}
6263
[tool.poetry.extras]
@@ -72,9 +73,10 @@ trino = ["dbt-trino"]
7273
duckdb = ["dbt-duckdb"]
7374
dremio = ["dbt-dremio"]
7475
fabric = ["dbt-fabric"]
76+
fabricspark = ["dbt-fabricspark"]
7577
sqlserver = ["dbt-sqlserver"]
7678
vertica = ["dbt-vertica"]
77-
all = ["dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-clickhouse", "dbt-athena-community", "dbt-trino", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver", "dbt-vertica"]
79+
all = ["dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-clickhouse", "dbt-athena-community", "dbt-trino", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-fabricspark", "dbt-sqlserver", "dbt-vertica"]
7880

7981
[build-system]
8082
requires = ["poetry-core>=1.0.0"]

0 commit comments

Comments
 (0)