Run dbt commands inside a IPython session.
pip install dbt-ipy
You can access the tutorial notebook here
%load_ext dbt-ipy
The next thing you'll probably want to do is to run a dbt RPC server in the background. That will let you run queries, compile SQL code among other things:
%dbt rpc <args>
(the args will be passed directly to dbt as command line arguments)
The two most important parameters would be:
--port [port_number]
Passing this parameter will run the dbt RPC on that port. Default is 8580--existing
This will skip creating a new dbt RPC and instead it will connect to an existing one on the specified port
The sql query in the cell will be compiled with the dbt RPC server and IPython will output the text::
%%compile_sql
SELECT ...
The sql query in the cell will be run on the dbt RPC server and IPython will output the agate table. Also, it will run its .print_table()
method::
%%run_sql
SELECT ...
It is also possible to copy the last result returned by dbt to the clipboard. If that's a %%compile_sql
compiled query it will return the SQL text but if it's a %%run_sql
table, it will transform it to CSV and copy that to the clipboard. You can then paste the contents of the clipboard into a spreadsheet as usual.
%dbt_clipboard