[go: up one dir, main page]

Skip to main content

Quickstart for the dbt Fusion engine

dbt Fusion engine
dbt Cloud
Quickstart
Beginner
Menu

    Introduction

    important

    The dbt Fusion Engine is currently available for installation in:

    Join the conversation in our Community Slack channel #dbt-fusion-engine.

    Read the Fusion Diaries for the latest updates.

    The dbt Fusion Engine is a powerful new approach to classic dbt ideas! Completely rebuilt from the ground up in Rust, Fusion lets you compile and run your dbt projects faster than ever — often in seconds.

    This quickstart guide will get you from zero to running your first dbt project with Fusion + VS Code. By the end, you’ll have:

    • A working dbt project (jaffle_shop) built with the dbt Fusion Engine
    • The dbt VS Code extension installed and connected
    • The ability to preview, compile, and run dbt commands directly from your IDE

    About the dbt Fusion engine

    Fusion and the features it provides are available in multiple environments:

    EnvironmentHow to use Fusion
    Studio IDEFusion is automatically enabled; just upgrade your environment(s).
    dbt CLI (local)Install dbt Fusion Engine locally following this guide.
    VS Code / Cursor IDEInstall the dbt extension to unlock Fusion's interactive power in your editor.

    Tip: Read more about the dbt Fusion Engine to understand what’s new, what’s changed, and what’s deprecated.

    Prerequisites

    To take full advantage of this guide, you'll need to meet the following prerequisites:

    • You should have a basic understanding of dbt projects, git workflows, and data warehouse requirements.
    • Make sure you're using a supported adapter and authentication method:
       BigQuery
       Databricks
      • Service Account / User Token
      • Native OAuth
       Redshift
      • Username / Password
       Snowflake
      • Username / Password
      • Native OAuth
      • External OAuth
      • Key pair using a modern PKCS#8 method
      • MFA
    • You need a macOS (Terminal), Linux, or Windows (Powershell) machine to run the dbt Fusion Engine.
    • You need to have Visual Studio Code installed. The Cursor code editor will also work, but these instructions will focus on VS Code.
    • You need admin or install privileges on your machine.

    What you’ll learn

    By following this guide, you will:

    • Set up a fully functional dbt environment with an operational project
    • Install and use the dbt Fusion Engine + dbt VS Code extension
    • Run dbt commands from your IDE or terminal
    • Preview data, view lineage, and write SQL faster with autocomplete, and more!

    You can learn more through high-quality dbt Learn courses and workshops.

    Installation

    It's easy to think of the dbt Fusion Engine and the dbt extension as two different products, but they're a powerful combo that works together to unlock the full potential of dbt. Think of the dbt Fusion Engine as exactly that — an engine. The dbt extension and VS Code are the chassis, and together they form a powerful vehicle for transforming your data.

    info
    • You can install the dbt Fusion Engine and use it standalone with the CLI.
    • You cannot use the dbt extension without Fusion installed.

    The following are the essential steps from the dbt Fusion Engine and extension installation guides:

    1. Run the following command in the terminal to install the dbtf binary — Fusion’s CLI command.
      curl -fsSL https://public.cdn.getdbt.com/fs/install/install.sh | sh -s -- --update
    2. To use dbtf immediately after installation, reload your shell so that the new $PATH is recognized:
      exec $SHELL
      Or you can close and reopen your terminal window. This will load the updated environment settings into the new session.

    Verify the dbt Fusion Engine installation

    1. After installation, open a new command-line window to confirm that Fusion was installed correctly by checking the version.
      dbtf --version
    2. You should see output similar to the following:
      dbt-fusion 2.0.0-preview.45
    tip

    You can run these commands using dbt, or use dbtf as an unambiguous alias for Fusion, if you have another dbt CLI installed on your machine.

    Install the dbt VS Code extension

    The dbt VS Code extension is available in the Visual Studio extension marketplace. Download it directly from your VS Code editor:

    1. Navigate to the Extensions tab of VS Code (or Cursor).
    2. Search for dbt and choose the one from the publisher dbt Labs Inc.
      Search for the extensionSearch for the extension
    3. Click Install.
    4. When the prompt appears, you can register the extension now or skip it (you can register later). You can also check out our installation instructions to come back to it later.
    5. Confirm you've installed the extension by looking for the dbt Extension label in the status bar. If you see it, the extension was installed successfully!
      Verify installation in the status bar.Verify installation in the status bar.

    Initialize the Jaffle Shop project

    Now let's create your first dbt project powered by Fusion!

    1. Run dbt init to set up an example project and configure a database connection profile.

      • If you do not have a connection profile that you want to use, start with dbt init and use the prompts to configure a profile:

      • If you already have a connection profile that you want to use, use the --skip-profile-setup flag then edit the generated dbt_project.yml to replace profile: jaffle_shop with profile: <YOUR-PROFILE-NAME>.

        dbtf init --skip-profile-setup
      • If you created new credentials through the interactive prompts, init automatically runs dbtf debug at the end. This ensures the newly created profile establishes a valid connection with the database.

    2. Change directories into your newly created project:

      cd jaffle_shop
    3. Build your dbt project (which includes creating example data):

      dbtf build

    This will:

    • Load example data into your warehouse
    • Create, build, and test models
    • Verify your dbt environment is fully operational

    Explore with the dbt VS Code extension

    The dbt VS Code extension compiles and builds your project with the dbt Fusion Engine, a powerful and blazing fast rebuild of dbt from the ground up.

    Want to see Fusion in action? Check out the following video to get a sense of how it works:

    Now that your project works, open it in VS Code and see Fusion in action:

    1. In VS Code, open the View menu and click Command Palette. Enter Workspaces: Add Folder to Workspace.
    2. Select your jaffle_shop folder. If you don't add the root folder of the dbt project to the workspace, the dbt language server (LSP) will not run. The LSP enables features like autocomplete, hover info, and inline error highlights.
    3. Open a model file to see the definition for the orders model. This is the model we'll use in all of the examples below.
          models/marts/orders.sql
    4. Locate Lineage and Query Results in the lower panel, and the dbt icon in the upper right corner next to your editor groups. If you see all of these, the extension is installed correctly and running!
      The VS Code UI with the extension running.The VS Code UI with the extension running.

    Now you're ready to see some of these awesome features in action!

    Preview data and code

    Gain valuable insights into your data transformation during each step of your development process. You can quickly access model results and underlying data structures directly from your code. These previews help validate your code step-by-step.

    1. Locate the table icon for Preview File in the upper right corner. Click it to preview results in the Query Results tab.
      Preview model query results.Preview model query results.
    2. Click Preview CTE above orders as ( to preview results in the Query Results tab.
      Preview CTE query results.Preview CTE query results.
    3. Locate the code icon for Compile File in between the dbt and the table icons. Clicking this icon opens a window with the compiled version of the model.
      Compile File icon.Compile File icon.
      Compile File results.Compile File results.

    Almost as important as where your data is going is where it's been. The lineage tools in the extension let you visualize the lineage of the resources in your models as well as the column-level lineage. These capabilities deepen your understanding of model relationships and dependencies.

    1. Open the Lineage tab to visualize the model-level lineage of this model.
      Visualizing model-level lineage.Visualizing model-level lineage.
    2. Open the View menu, click Command Palette and enter dbt: Show Column Lineage to visualize the column-level lineage in the Lineage tab.
      Show column-level lineage.Show column-level lineage.

    Use the power of SQL understanding

    Code smarter, not harder. The autocomplete and context clues help avoid mistakes and enable you to write fast and accurate SQL. Catch issues before you commit them!

    1. To see Autocomplete in action, delete ref('stg_orders'), and begin typing ref(stg_ to see the subset of matching model names. Use up and down arrows to select stg_orders.
      Autocomplete for a model name.Autocomplete for a model name.
    2. Hover over any * to see the list of column names and data types being selected.
      Hovering over * to see column names and data types.Hovering over * to see column names and data types.

    Speed up common dbt commands

    Testing, testing... is this mic on? It is and it's ready to execute your commands with blazing fast speeds! When you want to test your code against various dbt commands:

    1. The dbt icon in the top right opens a list of extension-specific commands:
      Select a command via the dbt icon.Select a command via the dbt icon.
    2. Opening the View menu, clicking the Command Palette, and entering >dbt: in the command bar shows all the new commands that are available.
      dbt commands in the command bar.dbt commands in the command bar.

    Try choosing some of them and see what they do 😎

    This is just the start. There is so much more available and so much more coming. Be sure to check out our resources for all the information about the dbt Fusion Engine and the dbt VS Code extension!

    Troubleshooting

    If you run into any issues, check out the troubleshooting section below.

     dbt platform configurations

    If you're a cloud-based dbt platform user who has the dbt-cloud: config in the dbt_project.yml file and are also using dbt Mesh, you must have the project ID configured:

    dbt-cloud:
    project-id: 12345 # Required

    If you don’t configure this correctly, cross-platform references will not resolve properly, and you will encounter errors executing dbt commands.

     dbt extension not activating

    If the dbt extension has activated successfully, you will see the dbt Extension label in the status bar at the bottom left of your editor. You can view diagnostic information about the dbt extension by clicking the dbt Extension button.

    If the dbt Extension label is not present, then it is likely that the dbt extension was not installed successfully. If this happens, try uninstalling the extension, restarting your editor, and then reinstalling the extension.

    Note: It is possible to "hide" status bar items in VS Code. Double-check if the dbt Extension status bar label is hidden by right-clicking on the status bar in your editor. If you see dbt Extension in the right-click menu, then the extension has installed successfully.

     Missing dbt LSP features

    If you receive a no active LSP for this workspace error message or aren't seeing dbt Language Server (LSP) features in your editor (like autocomplete, go-to-definition, or hover text), start by first following the general troubleshooting steps mentioned earlier.

    If you've confirmed the dbt extension is installed correctly but don't see LSP features, try the following:

    1. Check extension version — Ensure that you're using the latest available version of the dbt extension by:
      • Opening the Extensions page in your editor, or
      • Going to the Output tab and looking for the version number, or
      • Running dbtf --version in the terminal.
    2. Reinstall the LSP — If the version is correct, reinstall the LSP:
      1. Open the Command Palette: Command + Shift + P (macOS) or Ctrl + Shift + P (Windows/Linux).
      2. Paste dbt: Reinstall dbt LSP and enter.

    This command downloads the LSP and re-activates the extension to resolve the error.

     Unsupported dbt version

    If you see an error message indicating that your version of dbt is unsupported, then there is likely a problem with your environment.

    Check the dbt Path setting in your VS Code settings. If this path is set, ensure that it is pointing to a valid dbt Fusion Engine executable. If necessary, you can also install the dbt Fusion Engine directly using these instructions: Install the Fusion CLI

     Addressing the 'dbt language server is not running in this workspace' error

    To resolve the dbt language server is not running in this workspace error, you need to add your dbt project folder to a workspace:

    1. In VS Code, click File in the toolbar then select Add Folder to Workspace.
    2. Select the dbt project file you want to add to a workspace.
    3. To save your workspace, click File then select Save Workspace As.
    4. Navigate to the location you want to save your workspace.

    This should resolve the error and open your dbt project by opening the workspace it belongs to. For more information on workspaces, refer to What is a VS Code workspace?.

    More information about Fusion

    Fusion marks a significant update to dbt. While many of the workflows you've grown accustomed to remain unchanged, there are a lot of new ideas, and a lot of old ones going away. The following is a list of the full scope of our current release of the Fusion engine, including implementation, installation, deprecations, and limitations:

    Was this page helpful?

    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

    0