You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-23Lines changed: 23 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,34 +8,34 @@
8
8
9
9
This repo hosts components of the dbt Fusion engine, the foundation for future innovation in `dbt`. The dbt Fusion engine is written in Rust and is designed for speed, correctness, and has a native understanding of SQL across multiple data warehouse SQL dialects.
10
10
11
-
> [!IMPORTANT]
11
+
> [!IMPORTANT]
12
12
> **Note: the dbt Fusion Engine is in Beta!**
13
-
Bugs and missing functionality compared to dbt Core will be resolved continuously in the leadup to a final release (see [this post](https://docs.getdbt.com/blog/fusion-path-to-ga) for more details).
13
+
Bugs and missing functionality compared to dbt Core will be resolved continuously in the lead-up to a final release (see [this post](https://docs.getdbt.com/blog/fusion-path-to-ga) for more details).
14
14
15
-
The dbt Fusion engine is a groundup, first principles rewrite of the dbt Core execution engine, built to be interoperable with the standard dbt authoring layer. Fusion enforces some ambiguous areas of the authoring spec more strictly than dbt Core to ensure correctness (for example, dbt Core does not proactively validate most YAML configurations). Many of these discrepancies can be fixed automatically with the [dbt Autofix](https://github.com/dbt-labs/dbt-autofix) tool.
15
+
The dbt Fusion engine is a ground-up, first principles rewrite of the dbt Core execution engine, built to be interoperable with the standard dbt authoring layer. Fusion enforces some ambiguous areas of the authoring spec more strictly than dbt Core to ensure correctness (for example, dbt Core does not proactively validate most YAML configurations). Many of these discrepancies can be fixed automatically with the [dbt Autofix](https://github.com/dbt-labs/dbt-autofix) tool.
16
16
17
17
Beyond conformance with dbt Core, Fusion also contains new SQL Comprehension capabilities, a language server, modern ADBC drivers for warehouse connections, and more. While dbt Core was written in Python, the dbt Fusion engine is written in Rust, and compiled to a single application binary.
18
18
19
-
You can install dbt-fusion onto your local machine, a docker container, or a machine in the cloud. It is designed for flexible installation, with no dependencies on other libraries. The only libraries that dbt Fusion will load are it's corresponding database drivers.
19
+
You can install dbt-fusion onto your local machine, a docker container, or a machine in the cloud. It is designed for flexible installation, with no dependencies on other libraries. The only libraries that dbt Fusion will load are its corresponding database drivers.
20
20
21
21
The dbt Fusion engine is being released to this repository incrementally, so, until this note is removed this repository contains only a subset of the crates that make the core of the engine work. These crates are published incrementally starting on May 28.
22
22
23
23
## Getting Started with the dbt Fusion engine
24
24
25
-
> [!TIP]
26
-
> You don't have to build this project from source to use the new dbt! We recommend using the precompiled binary with additional capabilities:
25
+
> [!TIP]
26
+
> You don't have to build this project from source to use the new dbt! We recommend using the precompiled binary with additional capabilities:
27
27
28
-
There are several ways to get started with Fusion (for more, see dbt Fusion's quickstart documentation [here](https://docs.getdbt.com/guides/fusion?step=1))
29
-
1.**Download dbt the vs-code extension** - For most people the best experience. This will install the dbt fusion CLI and Language Server on your system - see the install guide [here](https://docs.getdbt.com/docs/install-dbt-extension).
30
-
2.**Install Fusion Directly** Install just the fusion CLI with the command below or see dbt's documentation [here](https://docs.getdbt.com/docs/fusion/install-fusion)
28
+
There are several ways to get started with Fusion (for more, see dbt Fusion's quickstart documentation [here](https://docs.getdbt.com/guides/fusion?step=1)):
29
+
1.**Download the dbt VS Code extension** - For most people the best experience. This will install the dbt fusion CLI and Language Server on your system - see the install guide [here](https://docs.getdbt.com/docs/install-dbt-extension).
30
+
2.**Install Fusion Directly**- Install just the fusion CLI with the command below or see dbt's documentation [here](https://docs.getdbt.com/docs/fusion/install-fusion)
31
31
```bash
32
32
curl -fsSL https://public.cdn.getdbt.com/fs/install/install.sh | sh -s -- --update
33
33
```
34
34
3.**Build Fusion from Source** - See the *Compiling from Source* section below
35
35
36
36
37
37
### Supported Operating Systems and CPU Microarchitectures
38
-
Fusion & associated drivers are compiled for each CPU microarchitecture and operating system independently. This allows for hardwarelevel optimization.
38
+
Fusion & associated drivers are compiled for each CPU microarchitecture and operating system independently. This allows for hardware-level optimization.
39
39
40
40
Legend:
41
41
* 🟢 - Supported today
@@ -62,12 +62,12 @@ Legend:
62
62
### Top Level Components Released to Date
63
63
Releases of various Fusion components will be iterative as each component reaches maturity & readiness for contribution.
64
64
65
-
-[x]`dbt-jinja` - All Rust extension of mini-jinja to support dbt's jinja functions & other capabilities
65
+
-[x]`dbt-jinja` - A Rust extension of mini-jinja to support dbt's jinja functions & other capabilities
* Standalone distribution. No JVM, or python required.
96
+
* Standalone distribution. No JVM, or Python required.
97
97
* Automatic installation of dependencies, whether that's a dbt package, or database driver
98
98
* dbt code-signed & secure distributions
99
99
</details>
100
100
101
101
<details>
102
102
<summary><i>This repo doesn't have all of dbt's functionality, when will the rest come?</i></summary>
103
-
dbt Fusion's source code is being published as components are finalized. Please see the Timeline section above
103
+
dbt Fusion's source code is being published as components are finalized. Please see the Timeline section above.
104
104
</details>
105
105
106
106
<details>
@@ -117,7 +117,7 @@ Releases of various Fusion components will be iterative as each component reache
117
117
118
118
## Compiling from Source
119
119
120
-
The primary CLI in this repository is the `dbt-sa-cli`. To compile the CLI, you need the Rust toolchain.
120
+
The primary CLI in this repository is the `dbt-sa-cli`. To compile the CLI, you need the Rust toolchain.
121
121
122
122
Let's start with Rust, run the following command to install Rust on your machine:
123
123
@@ -151,9 +151,9 @@ Options:
151
151
...
152
152
```
153
153
154
-
Cargo is Rust's build system and package manager. If you're familiar with Python, pip would be a sufficient comparison. We'll use cargo to run command to build the local `dbt-sa-cli` binary and run helper scripts via `cargo xtask`. More on that later.
154
+
Cargo is Rust's build system and package manager. If you're familiar with Python, pip would be a sufficient comparison. We'll use cargo to run commands to build the local `dbt-sa-cli` binary and run helper scripts via `cargo xtask`. More on that later.
155
155
156
-
To build the binary locally, `cd` to the this repo's directory and run:
156
+
To build the binary locally, `cd` to this repo's directory and run:
157
157
158
158
```shell
159
159
cargo build
@@ -188,14 +188,14 @@ cd target/debug && pwd
188
188
To run tests, increase the stack size and use nextest.
189
189
190
190
```
191
-
RUST_MIN_STACK=8388608 cargo nextest run --no-fail-fast
191
+
RUST_MIN_STACK=8388608 cargo nextest run --no-fail-fast
192
192
```
193
193
194
194
# License
195
-
The dbt Fusion engine is a monorepo and contains more than one License. Most code is licensed under ELv2. For more, please see our [licenses](LICENSES.md) section.
195
+
The dbt Fusion engine is a monorepo and contains more than one license. Most code is licensed under ELv2. For more, please see our [licenses](LICENSES.md) section.
196
196
197
197
# Acknowledgments
198
-
*To the dbt community:* dbt the tool & dbt Labs the company would not be here without the incredible community of authors, contributors, practitioners, and enthusiasts. dbt Fusion is an evolution of that work & stands on the shoulders of what has come before.
198
+
*To the dbt community:* dbt the tool & dbt Labs the company would not be here without the incredible community of authors, contributors, practitioners, and enthusiasts. dbt Fusion is an evolution of that work & stands on the shoulders of what has come before.
199
199
200
200
*To the Arrow Community:* dbt Labs is committing fully to the Arrow ecosystem. Fusion exclusively uses the Arrow type system from drivers through adapters into the internals of the compiler & runtime.
0 commit comments