Skip to content

Commit 1adcde8

Browse files
adding dbt definition
1 parent 733f26a commit 1adcde8

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

card_data/pipelines/definitions.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,27 @@
11
from pathlib import Path
2+
23
from dagster import definitions, load_from_defs_folder
4+
from dagster_dbt import DbtCliResource, DbtProject, dbt_assets
5+
6+
import dagster as dg
37

48

59
@definitions
610
def defs():
7-
return load_from_defs_folder(project_root=Path(__file__).parent.parent)
11+
return load_from_defs_folder(project_root=Path(__file__).parent.parent)
12+
13+
dbt_project_directory = Path(__file__).absolute().parent / "poke_cli_dbt"
14+
dbt_project = DbtProject(project_dir=dbt_project_directory)
15+
16+
dbt_resource = DbtCliResource(project_dir=dbt_project)
17+
18+
# Compiles the dbt project & allow Dagster to build an asset graph
19+
dbt_project.prepare_if_dev()
20+
21+
# Yields Dagster events streamed from the dbt CLI
22+
@dbt_assets(manifest=dbt_project.manifest_path)
23+
def dbt_models(context: dg.AssetExecutionContext, dbt: DbtCliResource):
24+
yield from dbt.cli(["build"], context=context).stream()
25+
26+
# Dagster object that contains the dbt assets and resource
27+
defs_dbt = dg.Definitions(assets=[dbt_models], resources={"dbt": dbt_resource})

0 commit comments

Comments
 (0)