Forum Discussion
DBT Orchestration
- 2 years ago
OK thanks. At the moment you need to run dbt core (and therefore dbt run) on some non-fabric compute unfortunately, like a VM.
- 2 years ago
You can clone your code from git in the notebook and then run dbt in the notebook.
https://www.linkedin.com/pulse/dbt-microsoft-fabric-my-journ-nghia-tran/Note: Change runtime version in Spark Setting from 1.2 to 1.1 (Runtime version 1.2 does not have git).
Hey AndyDDC . Appreciate you coming back on this. I'm developing on my local machine.
The basic workflow I'd like to have if possible would be like:
- Analytics engineers develop on their local machine.
- Push to github.
- scheduled Fabric pipeline somehow clones the repo.
- Fabric somehow does a dbt run
- Alert messages get emailed ….
One idea I’ve seen floating around is to have a notebook do the lat 3 steps above. I actually pip installed dbt in the notebook, got all excited but then got stuck trying to clone the repo.
OK thanks. At the moment you need to run dbt core (and therefore dbt run) on some non-fabric compute unfortunately, like a VM.
- Jrampono2 years agoRegular Visitor
This is a great question and one I started to ponder myself about a year ago when I was working at Microsoft.
In my case I wanted to use native scheduling functionality in Fabric and avoid an external Python environment to host dbt.
It led me to developing a new dbt-adapter that allows the dbt project to be built locally without connection to the fabric workspace and for it to generate notebooks instead of directly execute the sql statements against the Fabric endpoint.
I wanted to use the lakehouse rather than the warehouse in fabric and I wanted to keep all or the transformation logic in spark sql rather than tsql.
It’s working very well so far and it gives the best of both worlds in my opinion. All of dbt’s benefits such as catalog, lineage, model dependency management, tests etc but with native Fabric artefacts generated. This also allows you to use native fabric and git functionality to migrate through dev, test, prod without having to setup a devops runner to host dbt. I am currently open sourcing the adapter so If you’d like more info hit me up on linked in