-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Give dbt basic workflow capabilities #1842
Comments
Thanks for the detailed writeup @jrandrews! I'm super into this idea. I think we have an open issue from a while back which gets at this same idea -- i'm going to close that one in favor of this one, as this one is definitely more actionable. This isn't currently prioritized, but I'd like to add it for a patch release in the 0.15.x line if possible! |
Some further comments after office hours today. When originally opening the issue I worded it in such a way so as to imply that each dbt project would only have one set of commands/one workflow that it would use to run. This is not true. It's likely that a given dbt project would have many different potential workflows associated with it, not just one. One workflow for a project might do a couple of run-operations and then call |
Hi, it would be useful to have a way to force the -m flag to be used when using |
There are two things I left out of #2671 as they're workflows-specific, I'll note them here:
|
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please remove the stale label or comment on the issue, or it will be closed in 7 days. |
Describe the feature
We need a way to more flexibly call different chains of dbt commands in different orders and schedules for a single dbt project while capturing the steps of these workflows along with the parameters, relationships between steps, etc. It would also be helpful to be able to store the configuration for these workflows and steps in the dbt project itself, so changes to the configuration for the orchestration can be versioned, controlled, managed, and deployed using git-based tools in the same way that everything else in dbt is.
Describe alternatives you've considered
We have been using bash scripts and Docker to capture this along with other enterprise workflow management software. We have also seen other dbt users use Airflow, Luigi, etc. All of these add significant overhead and complexity.
Additional context
Should not be database-specific.
We do need a way to more flexibly call different chains of dbt commands in potentially a different order for any given dbt project.
It would be helpful for developers on a given dbt project to be able to clearly see in git/AZDO somehow the given chains of dbt commands for any given dbt project. And also control/review/update/test these chains of commands using the same CI/CD process that we use for dbt models, macros, and tests. There are scenarios where on some projects we might want to do something like this, and the chain of commands, models, tests, and selectors can affect the logic of how the developer is writing additional models and tests so they need to really understand the flow of what is going on for any given project at any given time. Example chain of commands:
It's likely that over time each project will have its own divergent set of dbt commands, tags, parameters, etc.
We also need a way to be able to call different dbt commands on different schedules. Most common case for this is being able to call dbt snapshot (along with perhaps a few tests, etc.) more often than other dbt commands. It would also be helpful to perhaps call dbt seed less often, even only on detecting that there has been a change in a seed file (although it's a pretty low-cost operation.)
Who will this benefit?
Developers and analytics users who will be able to clearly see the dbt workflow job chains and parameters right alongside their dbt models and code. Architects who can then worry less about having to build up other job orchestration infrastructure because dbt does not have these capabilities built in.
The text was updated successfully, but these errors were encountered: