[Feature] Select the nodes to run or skip within a DbtDAG
at runtime
#1228
Labels
area:rendering
Related to rendering, like Jinja, Airflow tasks, etc
area:selector
Related to selector, like DAG selector, DBT selector, etc
enhancement
New feature or request
execution:virtualenv
Related to Virtualenv execution environment
parsing:custom
Related to custom parsing, like custom DAG parsing, custom DBT parsing, etc
triage-needed
Items need to be reviewed / assigned to milestone
Description
I would like to be able to select the tasks to run and to skip within a
DbtDAG
at runtime.Use case/motivation
Suppose I have 4 massive tables built using incremental materialization in dbt, and they are all in the same
DbtDag
. If I introduce breaking changes to one of them, I would like to be able tofull_refresh
it without running the other nodes. I think it would be great to have the possibility to select the nodes to run at runtime if I only want to full refresh one of them (and their dependencies), typically by using the dbt selection syntax in an Airflow Param when manually triggering the DAG.I was thinking about adding a
select
andexclude
parameters inoperator_args
. We would be able to select the nodes to run in the DAG at runtime (among the nodes that were rendered using therender_config
), and skip the others:I assume one of the main challenge would be to only select and exclude a subset of the nodes that were rendered in the DAG, so that we do not run a dbt command that interferes with models outside of the DAG scope.
Related issues
No response
Are you willing to submit a PR?
The text was updated successfully, but these errors were encountered: