From e2cf66124cf23bd95342ef9fce802c86df20f809 Mon Sep 17 00:00:00 2001 From: Brian Jan Date: Tue, 9 Jan 2024 16:01:08 -0600 Subject: [PATCH 01/44] Update _enterprise-permissions-table.md Fixed project permissions at the project level --- website/snippets/_enterprise-permissions-table.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_enterprise-permissions-table.md b/website/snippets/_enterprise-permissions-table.md index 3eb313e0f5b..72a72082c3a 100644 --- a/website/snippets/_enterprise-permissions-table.md +++ b/website/snippets/_enterprise-permissions-table.md @@ -84,7 +84,7 @@ The project roles enable you to work within the projects in various capacities. | Metadata | R | R | R | R | R | R | R | R | | R | R | | | Permissions | W | | R | R | R | | | | | | W | | | Profile | W | R | W | R | R | R | | | | R | R | | -| Projects | W | W | W | W | W | R | R | | | R | W | | +| Projects | W | R | R | R | R | R | R | | | R | R | | | Repositories | W | | R | R | W | | | | | R | R | | | Runs | W | R | R | W | R | W | R | | | R | R | | | Semantic Layer Config | W | R | W | R | R | R | | | W | R | R | | From ef73989df0c906e90bb936d50e08dc272e3af9b8 Mon Sep 17 00:00:00 2001 From: Aaron Bini Date: Thu, 28 Mar 2024 13:14:25 -0700 Subject: [PATCH 02/44] correct project write permissions --- website/snippets/_enterprise-permissions-table.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_enterprise-permissions-table.md b/website/snippets/_enterprise-permissions-table.md index e152e667191..5eb06797901 100644 --- a/website/snippets/_enterprise-permissions-table.md +++ b/website/snippets/_enterprise-permissions-table.md @@ -84,7 +84,7 @@ The project roles enable you to work within the projects in various capacities. | Metadata | R | R | R | R | R | R | | R | R | | R | R | | | Permissions (Groups & Licenses) | W | | R | R | R | | | | | | | R | | | Profile (Credentials) | W | R | | R | R | R | | | | | R | | | -| Projects | W | W | W | W | W | R | | R | | | R | W | | +| Projects | W | R | W | R | W | R | | R | | | R | W | | | Repositories | W | | R | R | W | | | | | | R | R | | | Runs | W | R | R | W | R | W | W | R | | | R | R | | | Semantic Layer Config | W | R | W | R | R | R | | | | W | R | R | | From 2784dad0521c73474d981e6efe01d55ce7afbb30 Mon Sep 17 00:00:00 2001 From: ialdg <39755524+ialdg@users.noreply.github.com> Date: Mon, 1 Apr 2024 08:11:52 +0200 Subject: [PATCH 03/44] Update execute.md Hi. This modification proposal has two points: 1- Add a comment suggesting that it'd a good idea to add line numbers to a particular piece of coding (although it'd be great for all pieces of coding present in the docs), to make easier the task for the reader. 2- Make a piece of coding more elegant and less demanding on the warehouse. Regards. IL. --- website/docs/reference/dbt-jinja-functions/execute.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 05dd26a8ecf..e8f52faea78 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -40,12 +40,14 @@ Compilation Error in model order_payment_methods (models/order_payment_methods.s 'None' has no attribute 'table' ``` +[comment]: Since the number of the line is mentioned, it'd be a good idea to add line numbers to the code, so easying the reader the task of counting lines to ascertain which line to look at. Regards. This is because Line #11 assumes that a has been returned, when, during the parse phase, this query hasn't been run. To work around this, wrap any problematic Jinja in an `{% if execute %}` statement: +[comment]: I propose an alternative coding, more elegant and at the same time, less demanding on the warehouse. ```sql {% set payment_method_query %} select distinct @@ -54,9 +56,8 @@ from {{ ref('raw_payments') }} order by 1 {% endset %} -{% set results = run_query(payment_method_query) %} - {% if execute %} +{% set results = run_query(payment_method_query) %} {# Return the first column #} {% set payment_methods = results.columns[0].values() %} {% else %} From c5c617e3f46594ba9a3d04ff6934e3d60bb23a22 Mon Sep 17 00:00:00 2001 From: Ben Cassell <98852248+benc-db@users.noreply.github.com> Date: Tue, 9 Apr 2024 09:10:43 -0700 Subject: [PATCH 04/44] Update databricks-configs.md so that only 1.7 content shows on 1.7 --- website/docs/reference/resource-configs/databricks-configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/resource-configs/databricks-configs.md b/website/docs/reference/resource-configs/databricks-configs.md index 935963b26cb..a9dbc5fb2de 100644 --- a/website/docs/reference/resource-configs/databricks-configs.md +++ b/website/docs/reference/resource-configs/databricks-configs.md @@ -20,7 +20,7 @@ When materializing a model as `table`, you may include several optional configs - + | Option | Description | Required? | Model Support | Example | From a669307d5f9a0e76c2456a7dacb08d9bd1991efb Mon Sep 17 00:00:00 2001 From: Ted Conbeer Date: Tue, 9 Apr 2024 11:30:16 -0600 Subject: [PATCH 05/44] Fix typo in exports.md resource type selector The docs state you can build saved queries using `dbt build --resource-type saved_queries`, but this results in the error: `Error: Invalid value for '--resource-types' / '--resource-type': 'saved_queries' is not one of 'metric', 'semantic_model', 'saved_query', 'source', 'analysis', 'model', 'test', 'exposure', 'snapshot', 'seed', 'default', 'all'.` This commit changes the docs to use the correct selector, `saved_query` --- website/docs/docs/use-dbt-semantic-layer/exports.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/use-dbt-semantic-layer/exports.md b/website/docs/docs/use-dbt-semantic-layer/exports.md index dcbfb3c0eb4..100ffa8503f 100644 --- a/website/docs/docs/use-dbt-semantic-layer/exports.md +++ b/website/docs/docs/use-dbt-semantic-layer/exports.md @@ -240,7 +240,7 @@ You can use exports to create a custom integration with tools such as PowerBI, a -To select `saved_queries` by resource type, run `dbt build --resource-type saved_queries`. +To select `saved_queries` by resource type, run `dbt build --resource-type saved_query`. From 2f3b45071fb561a0c721af1a9ed5b63be5ad6198 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Wed, 10 Apr 2024 00:22:42 -0600 Subject: [PATCH 06/44] Example using a `{% do return(...) %}` statement in a Jinja macro (#5247) [Preview](https://docs-getdbt-com-git-dbeatty10-patch-2-dbt-labs.vercel.app/reference/dbt-jinja-functions/return) ## What are you changing in this pull request and why? There's a subtle difference between these two: - `{{ return([1,2,3]) }}` (an expression that outputs a string) - `{% do return([1,2,3]) %}` (a statement that does not output a string) This PR adds an example of using the `do` tag along with the [`return`](https://docs.getdbt.com/reference/dbt-jinja-functions/return) function. ### More detail The ["do" extension](https://jinja.palletsprojects.com/en/3.0.x/extensions/#expression-statement) (AKA expression-statements) adds a simple `do` tag to the template engine that works like a variable expression but ignores the return value. Put another way, there is a difference between _expressions_ and _statements_ in Jinja: - **Expressions** `{{ ... }}`: Expressions are used when you want to output a string. You can use expressions to reference [variables](https://docs.getdbt.com/reference/dbt-jinja-functions/var) and call [macros](https://docs.getdbt.com/docs/build/jinja-macros#macros). - **Statements** `{% ... %}`: Statements don't output a string. They are used for control flow, for example, to set up for loops and if statements, to [set](https://jinja.palletsprojects.com/en/3.1.x/templates/#assignments) or [modify](https://jinja.palletsprojects.com/en/3.1.x/templates/#expression-statement) variables, or to define macros. ## Checklist - [x] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. - [x] I've verified that the code example works --------- Co-authored-by: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> --- .../reference/dbt-jinja-functions/return.md | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/dbt-jinja-functions/return.md b/website/docs/reference/dbt-jinja-functions/return.md index d2069bc9254..0eb583b5e67 100644 --- a/website/docs/reference/dbt-jinja-functions/return.md +++ b/website/docs/reference/dbt-jinja-functions/return.md @@ -9,7 +9,12 @@ __Args__: * `data`: The data to return to the caller -The `return` function can be used in macros to return data to the caller. The type of the data (dict, list, int, etc) will be preserved through the `return` call. +The `return` function can be used in macros to return data to the caller. The type of the data (dict, list, int, etc) will be preserved through the `return` call. You can use the `return` function in the following ways within your macros: as an expression or as a statement. + +- Expression — Use an expression when the goal is to output a string from the macro. +- Statement with a `do` tag — Use a statement with a `do` tag to execute the return function without generating an output string. This is particularly useful when you want to perform actions without necessarily inserting their results directly into the template. + +In the following example, `{{ return([1,2,3]) }}` acts as an _expression_ that directly outputs a string, making it suitable for directly inserting returned values into SQL code. @@ -23,6 +28,21 @@ The `return` function can be used in macros to return data to the caller. The ty +Alternatively, you can use a statement with a [do](https://jinja.palletsprojects.com/en/3.0.x/extensions/#expression-statement) tag (or expression-statements) to execute the return function without generating an output string. + +In the following example ,`{% do return([1,2,3]) %}` acts as a _statement_ that executes the return action but does not output a string: + + + +```sql +{% macro get_data() %} + + {% do return([1,2,3]) %} + +{% endmacro %} +``` + + @@ -33,7 +53,7 @@ select -- getdata() returns a list! {% for i in get_data() %} {{ i }} - {% if not loop.last %},{% endif %} + {%- if not loop.last %},{% endif -%} {% endfor %} ``` From 0b6d05891ccb191b00d421830dbf54ac7b6a39d6 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:23:57 +0100 Subject: [PATCH 07/44] Update execute.md --- .../reference/dbt-jinja-functions/execute.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index e8f52faea78..98efc9bb2a9 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -17,17 +17,17 @@ Any Jinja that relies on a result being returned from the database will error du ```sql -{% set payment_method_query %} -select distinct -payment_method -from {{ ref('raw_payments') }} -order by 1 -{% endset %} - -{% set results = run_query(payment_method_query) %} - -{# Return the first column #} -{% set payment_methods = results.columns[0].values() %} +1 {% set payment_method_query %} +2 select distinct +3 payment_method +4 from {{ ref('raw_payments') }} +5 order by 1 +6 {% endset %} +7 +8 {% set results = run_query(payment_method_query) %} +9 +10 {# Return the first column #} +11 {% set payment_methods = results.columns[0].values() %} ``` From 14a8405f5d4e3a528d4d8a36bb51449053a908bd Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:24:39 +0100 Subject: [PATCH 08/44] Update website/docs/reference/dbt-jinja-functions/execute.md --- website/docs/reference/dbt-jinja-functions/execute.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 98efc9bb2a9..6624008d723 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -40,7 +40,6 @@ Compilation Error in model order_payment_methods (models/order_payment_methods.s 'None' has no attribute 'table' ``` -[comment]: Since the number of the line is mentioned, it'd be a good idea to add line numbers to the code, so easying the reader the task of counting lines to ascertain which line to look at. Regards. This is because Line #11 assumes that a has been returned, when, during the parse phase, this query hasn't been run. To work around this, wrap any problematic Jinja in an `{% if execute %}` statement: From cebc8d39dc6fb3c29731c4b1c05d53a6985ddee7 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:25:29 +0100 Subject: [PATCH 09/44] Update website/docs/reference/dbt-jinja-functions/execute.md --- website/docs/reference/dbt-jinja-functions/execute.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 6624008d723..5f73bb6c708 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -55,6 +55,7 @@ from {{ ref('raw_payments') }} order by 1 {% endset %} +{% set results = run_query(payment_method_query) %} {% if execute %} {% set results = run_query(payment_method_query) %} {# Return the first column #} From 7b86006cd713d6485603c2c3a6179a4b353c331e Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:25:45 +0100 Subject: [PATCH 10/44] Update website/docs/reference/dbt-jinja-functions/execute.md --- website/docs/reference/dbt-jinja-functions/execute.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 5f73bb6c708..370164e082c 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -46,7 +46,6 @@ To work around this, wrap any problematic Jinja in an `{% if execute %}` stateme -[comment]: I propose an alternative coding, more elegant and at the same time, less demanding on the warehouse. ```sql {% set payment_method_query %} select distinct From 3b7479b6e233a0e6858904841d5c36ad7cd75484 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:26:14 +0100 Subject: [PATCH 11/44] Update website/docs/reference/dbt-jinja-functions/execute.md --- website/docs/reference/dbt-jinja-functions/execute.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 370164e082c..982b2f0ee5e 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -56,7 +56,6 @@ order by 1 {% set results = run_query(payment_method_query) %} {% if execute %} -{% set results = run_query(payment_method_query) %} {# Return the first column #} {% set payment_methods = results.columns[0].values() %} {% else %} From fc14caa86b64d7d83bb3973b5f5c03e0ef0c4e88 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 15:06:06 +0100 Subject: [PATCH 12/44] Update execute.md --- website/docs/reference/dbt-jinja-functions/execute.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 982b2f0ee5e..237d42eca6c 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -40,7 +40,7 @@ Compilation Error in model order_payment_methods (models/order_payment_methods.s 'None' has no attribute 'table' ``` -This is because Line #11 assumes that a has been returned, when, during the parse phase, this query hasn't been run. +This is because Line #11 (`{% set payment_methods = results.columns[0].values() %}`) assumes that a has been returned, when, during the parse phase, this query hasn't been run. To work around this, wrap any problematic Jinja in an `{% if execute %}` statement: From 5e839223321c5db00801a271ada5290b6fa3a4b1 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 15:06:33 +0100 Subject: [PATCH 13/44] Update website/docs/reference/dbt-jinja-functions/execute.md --- website/docs/reference/dbt-jinja-functions/execute.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/dbt-jinja-functions/execute.md b/website/docs/reference/dbt-jinja-functions/execute.md index 237d42eca6c..f99bfa64734 100644 --- a/website/docs/reference/dbt-jinja-functions/execute.md +++ b/website/docs/reference/dbt-jinja-functions/execute.md @@ -40,7 +40,7 @@ Compilation Error in model order_payment_methods (models/order_payment_methods.s 'None' has no attribute 'table' ``` -This is because Line #11 (`{% set payment_methods = results.columns[0].values() %}`) assumes that a has been returned, when, during the parse phase, this query hasn't been run. +This is because line #11 in the earlier code example (`{% set payment_methods = results.columns[0].values() %}`) assumes that a has been returned, when, during the parse phase, this query hasn't been run. To work around this, wrap any problematic Jinja in an `{% if execute %}` statement: From fb1480d267c38f7909b423c00ee8314609480a78 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 18:26:10 +0100 Subject: [PATCH 14/44] Update version-control-basics.md update gitignore content per slack thread here: https://dbt-labs.slack.com/archives/C012TTNN0JK/p1712760453549829 --- .../docs/collaborate/git/version-control-basics.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/website/docs/docs/collaborate/git/version-control-basics.md b/website/docs/docs/collaborate/git/version-control-basics.md index c7eca740c8f..5b5199ebee6 100644 --- a/website/docs/docs/collaborate/git/version-control-basics.md +++ b/website/docs/docs/collaborate/git/version-control-basics.md @@ -54,11 +54,7 @@ Refer to [merge conflicts](/docs/collaborate/git/merge-conflicts) to learn how t ## The .gitignore file -To make sure dbt Cloud runs smoothly, you must exclude certain sub-folders in your git repository containing your dbt project from being tracked by git. You can achieve this by adding three lines to a special file named [.gitignore](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore). This file is placed in the root folder of your dbt project. - -Some git providers will automatically create a 'boilerplate' `.gitignore` file when the repository is created. However, based on dbt Labs' experience, these default `.gitignore` files typically don't include the required entries for dbt Cloud to function correctly. - -The `.gitignore` file can include unrelated files and folders if the code repository requires it. However, the following folders must be included in the `gitignore` file to ensure dbt Cloud operates smoothly: +dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) that automatically excludes the following sub-folders from your git repository to ensure smooth operation: ``` dbt_packages/ @@ -66,12 +62,15 @@ logs/ target/ ``` -**Note** — By using a trailing slash, these lines in the `gitignore` file serve as 'folder wildcards', excluding all files and folders within those folders from being tracked by git. +This file, found in the root of your dbt project, prevents these directories from being tracked by git. Although this global setting is in place, dbt Cloud also acknowledges individual `.gitignore` files, allowing you to specify additional exclusions as needed for your project. +It's worth noting that while some git providers generate a basic `.gitignore` file when the repository is created, these often lack the necessary exclusions for dbt Cloud. This means it's important to ensure you add the three lines mentioned previously in your `.gitignore` to ensure dbt Cloud operates smoothly. + +**Note** — By using a trailing slash, these lines in the `gitignore` file serve as 'folder wildcards', excluding all files and folders within those folders from being tracked by git. :::note -- **dbt Cloud projects created after Dec 1, 2022** — If you use the **Initialize dbt Project** button in the dbt Cloud IDE to setup a new and empty dbt project, dbt Cloud will automatically add a `.gitignore` file with the required entries. If a `.gitignore` file already exists, the necessary folders will be appended to the existing file. +- **dbt Cloud projects created after Dec 1, 2022** — If you use the **Initialize dbt Project** button in the dbt Cloud IDE to set up a new and empty dbt project, dbt Cloud will automatically add a `.gitignore` file with the required entries. If a `.gitignore` file already exists, the necessary folders will be appended to the existing file. - **Migrating project from Core to dbt Cloud** — Make sure you check the `.gitignore` file contains the necessary entries. dbt Core doesn't interact with git so dbt Cloud doesn't automatically add or verify entries in the `.gitignore` file. Additionally, if the repository already contains dbt code and doesn't require initialization, dbt Cloud won't add any missing entries to the .gitignore file. ::: From b11ed04c3a4ef98d86a7dafd084d303c85ff89a1 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 18:40:10 +0100 Subject: [PATCH 15/44] Update version-control-basics.md --- website/docs/docs/collaborate/git/version-control-basics.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/collaborate/git/version-control-basics.md b/website/docs/docs/collaborate/git/version-control-basics.md index 5b5199ebee6..3bbae9148cc 100644 --- a/website/docs/docs/collaborate/git/version-control-basics.md +++ b/website/docs/docs/collaborate/git/version-control-basics.md @@ -61,12 +61,11 @@ dbt_packages/ logs/ target/ ``` +**Note** — By using a trailing slash, these lines in the `gitignore` file serve as 'folder wildcards', excluding all files and folders within those folders from being tracked by git This file, found in the root of your dbt project, prevents these directories from being tracked by git. Although this global setting is in place, dbt Cloud also acknowledges individual `.gitignore` files, allowing you to specify additional exclusions as needed for your project. -It's worth noting that while some git providers generate a basic `.gitignore` file when the repository is created, these often lack the necessary exclusions for dbt Cloud. This means it's important to ensure you add the three lines mentioned previously in your `.gitignore` to ensure dbt Cloud operates smoothly. - -**Note** — By using a trailing slash, these lines in the `gitignore` file serve as 'folder wildcards', excluding all files and folders within those folders from being tracked by git. +It's worth noting that while some git providers generate a basic `.gitignore` file when the repository is created, these often lack the necessary exclusions for dbt Cloud. This means it's important to ensure you add the three lines mentioned previously in your `.gitignore` to ensure dbt Cloud operates smoothly.. :::note From aa6b2d7e7bc835d3edbf1d70e955de9b92c9f595 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 10 Apr 2024 18:50:03 +0100 Subject: [PATCH 16/44] Update version-control-basics.md update per naomi's feedback --- .../docs/docs/collaborate/git/version-control-basics.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/website/docs/docs/collaborate/git/version-control-basics.md b/website/docs/docs/collaborate/git/version-control-basics.md index 3bbae9148cc..9010b1eafa9 100644 --- a/website/docs/docs/collaborate/git/version-control-basics.md +++ b/website/docs/docs/collaborate/git/version-control-basics.md @@ -54,18 +54,19 @@ Refer to [merge conflicts](/docs/collaborate/git/merge-conflicts) to learn how t ## The .gitignore file -dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) that automatically excludes the following sub-folders from your git repository to ensure smooth operation: +dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) that automatically excludes the following sub-folders from your git repository to ensure smooth operation. This global `.gitignore` is automatically applied to projects in dbt Cloud, ensuring these directories are not tracked, which is crucial for smooth dbt Cloud operation: ``` dbt_packages/ logs/ target/ ``` -**Note** — By using a trailing slash, these lines in the `gitignore` file serve as 'folder wildcards', excluding all files and folders within those folders from being tracked by git -This file, found in the root of your dbt project, prevents these directories from being tracked by git. Although this global setting is in place, dbt Cloud also acknowledges individual `.gitignore` files, allowing you to specify additional exclusions as needed for your project. +This inclusion uses a trailing slash, making these lines in the `.gitignore` file act as 'folder wildcards' that prevent any files or folders within them from being tracked by git. You can also specify additional exclusions as needed for your project. -It's worth noting that while some git providers generate a basic `.gitignore` file when the repository is created, these often lack the necessary exclusions for dbt Cloud. This means it's important to ensure you add the three lines mentioned previously in your `.gitignore` to ensure dbt Cloud operates smoothly.. +However, this global `.gitignore` _does not_ apply to dbt Core and dbt Cloud CLI users directly. Therefore, if you're working with dbt Core or dbt Cloud CLI, you need to manually add these three lines to your project's `.gitignore` file. + +It's worth noting that while some git providers generate a basic `.gitignore` file when the repository is created, these often lack the necessary exclusions for dbt Cloud. This means it's important to ensure you add the three lines mentioned previously in your `.gitignore` to ensure dbt Cloud operates smoothly. :::note From 3dd747c2d70fe243cba3a69f422dfb3b83990c12 Mon Sep 17 00:00:00 2001 From: Ernesto Ongaro Date: Thu, 11 Apr 2024 01:24:54 +0200 Subject: [PATCH 17/44] Adds basic documentation and example --- website/docs/docs/build/python-models.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index 399a7cedcb6..a574a9aa4a9 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -630,6 +630,26 @@ def model(dbt, session): ) ``` +**External Access Integrations and Secrets** +If you want to use Snowflake’s [external access]([url](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview)) together with [secrets]([url](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference)) to query external APIs within dbt Python models there are some additional configurations to use: + +``` +import pandas +import snowflake.snowpark as snowpark + +def model(dbt, session: snowpark.Session): + dbt.config( + materialized="table", + secrets={"secret_variable_name": "test_secret"}, + external_access_integrations=["test_external_access_integration"], + ) + import _snowflake + return session.create_dataframe( + pandas.DataFrame( + [{"secret_value": _snowflake.get_generic_secret_string('secret_variable_name')}] + ) + ) +``` **About "sprocs":** dbt submits Python models to run as _stored procedures_, which some people call _sprocs_ for short. By default, dbt will create a named sproc containing your model's compiled Python code, and then _call_ it to execute. Snowpark has an Open Preview feature for _temporary_ or _anonymous_ stored procedures ([docs](https://docs.snowflake.com/en/sql-reference/sql/call-with.html)), which are faster and leave a cleaner query history. You can switch this feature on for your models by configuring `use_anonymous_sproc: True`. We plan to switch this on for all dbt + Snowpark Python models starting with the release of dbt Core version 1.4. From 62c6e30de36831641fdab10b956d77de99b727bd Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:01:19 +0100 Subject: [PATCH 18/44] Update website/docs/docs/collaborate/git/version-control-basics.md --- website/docs/docs/collaborate/git/version-control-basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/git/version-control-basics.md b/website/docs/docs/collaborate/git/version-control-basics.md index 9010b1eafa9..e8e607d301f 100644 --- a/website/docs/docs/collaborate/git/version-control-basics.md +++ b/website/docs/docs/collaborate/git/version-control-basics.md @@ -54,7 +54,7 @@ Refer to [merge conflicts](/docs/collaborate/git/merge-conflicts) to learn how t ## The .gitignore file -dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) that automatically excludes the following sub-folders from your git repository to ensure smooth operation. This global `.gitignore` is automatically applied to projects in dbt Cloud, ensuring these directories are not tracked, which is crucial for smooth dbt Cloud operation: +dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) (ensuring these directories are not tracked) that automatically excludes the following sub-folders from your git repository to ensure smooth operation: ``` dbt_packages/ From d1a3bcf12b60cb9c8b0effcb44b22febefb59e61 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:01:48 +0100 Subject: [PATCH 19/44] Update website/docs/docs/collaborate/git/version-control-basics.md --- website/docs/docs/collaborate/git/version-control-basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/git/version-control-basics.md b/website/docs/docs/collaborate/git/version-control-basics.md index e8e607d301f..11e5035f7b8 100644 --- a/website/docs/docs/collaborate/git/version-control-basics.md +++ b/website/docs/docs/collaborate/git/version-control-basics.md @@ -54,7 +54,7 @@ Refer to [merge conflicts](/docs/collaborate/git/merge-conflicts) to learn how t ## The .gitignore file -dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) (ensuring these directories are not tracked) that automatically excludes the following sub-folders from your git repository to ensure smooth operation: +dbt Cloud implements a global [`.gitignore file`](https://github.com/dbt-labs/dbt-starter-project/blob/main/.gitignore) that automatically excludes the following sub-folders from your git repository to ensure smooth operation: ``` dbt_packages/ From 51296ed97960561f5c973dc5de9b28052ebcc5cd Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:02:28 +0100 Subject: [PATCH 20/44] Update website/docs/docs/collaborate/git/version-control-basics.md --- website/docs/docs/collaborate/git/version-control-basics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/collaborate/git/version-control-basics.md b/website/docs/docs/collaborate/git/version-control-basics.md index 11e5035f7b8..92f8349d2cd 100644 --- a/website/docs/docs/collaborate/git/version-control-basics.md +++ b/website/docs/docs/collaborate/git/version-control-basics.md @@ -64,7 +64,7 @@ target/ This inclusion uses a trailing slash, making these lines in the `.gitignore` file act as 'folder wildcards' that prevent any files or folders within them from being tracked by git. You can also specify additional exclusions as needed for your project. -However, this global `.gitignore` _does not_ apply to dbt Core and dbt Cloud CLI users directly. Therefore, if you're working with dbt Core or dbt Cloud CLI, you need to manually add these three lines to your project's `.gitignore` file. +However, this global `.gitignore` _does not_ apply to dbt Core and dbt Cloud CLI users directly. Therefore, if you're working with dbt Core or dbt Cloud CLI, you need to manually add the three lines mentioned previously to your project's `.gitignore` file. It's worth noting that while some git providers generate a basic `.gitignore` file when the repository is created, these often lack the necessary exclusions for dbt Cloud. This means it's important to ensure you add the three lines mentioned previously in your `.gitignore` to ensure dbt Cloud operates smoothly. From 46ab35425347c8786b0e0ebd83a00ac0448b55e4 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:24:15 +0100 Subject: [PATCH 21/44] Update website/docs/docs/build/python-models.md --- website/docs/docs/build/python-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index a574a9aa4a9..fc6f5cefbaf 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -631,7 +631,7 @@ def model(dbt, session): ``` **External Access Integrations and Secrets** -If you want to use Snowflake’s [external access]([url](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview)) together with [secrets]([url](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference)) to query external APIs within dbt Python models there are some additional configurations to use: +To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: ``` import pandas From e603ada9d4ae7e0f989891b3d8683e9b8b9c67ea Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:25:14 +0100 Subject: [PATCH 22/44] Update website/docs/docs/build/python-models.md --- website/docs/docs/build/python-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index fc6f5cefbaf..eff5e228e44 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -630,7 +630,7 @@ def model(dbt, session): ) ``` -**External Access Integrations and Secrets** +**External access integrations and secrets** To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: ``` From 11c464574bd23447cf0cc6d0015a8114a091101b Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:33:48 +0100 Subject: [PATCH 23/44] Update exports.md add add'l info about exports and mf server data flow --- website/docs/docs/use-dbt-semantic-layer/exports.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/use-dbt-semantic-layer/exports.md b/website/docs/docs/use-dbt-semantic-layer/exports.md index dcbfb3c0eb4..87d5e6a3d52 100644 --- a/website/docs/docs/use-dbt-semantic-layer/exports.md +++ b/website/docs/docs/use-dbt-semantic-layer/exports.md @@ -192,7 +192,7 @@ When you run a build job, any saved queries downstream of the dbt models in that -2. After dbt finishes building the models, the MetricFlow Server processes the exports, compiles the necessary SQL, and executes this SQL against your data platform. +2. After dbt finishes building the models, the MetricFlow Server processes the exports, compiles the necessary SQL, and executes this SQL against your data platform. It directly executes a "create table" statement, so the data stays within your data platform. 3. Review the exports' execution details in the jobs logs and confirm the export was run successfully. This helps troubleshoot and to ensure accuracy. Since saved queries are integrated into the dbt DAG, all outputs related to exports are available in the job logs. 4. Your data is now available in the data platform for querying. From 8478decb525eff7f6d383527adc37c019509c7e6 Mon Sep 17 00:00:00 2001 From: Will Sargent <109557847+will-sargent-dbtlabs@users.noreply.github.com> Date: Thu, 11 Apr 2024 08:41:23 -0600 Subject: [PATCH 24/44] Adds ls troubleshooting tips --- website/docs/reference/node-selection/syntax.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 61b53ea5ebd..c7179c25936 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -106,6 +106,19 @@ Note that when you're using `--selector`, most other flags (namely `--select` an +### Troubleshooting tip: Use the `ls` command! + +Constructing and debugging selection logic can be challenging. One of the best ways to get a "preview" of what will be selected is to use the [ls](/reference/commands/list) command. This command, when combined with your selection syntax, will output a list of the nodes that meet that selection criteria. All of the selection syntax argument types are supported. + +Examples: + +```bash +dbt ls --select "path.to.my.models" +dbt ls --select "source_status:fresher+" +dbt ls --select state:modified+ +dbt ls --select "result:+ state:modified+ --defer --state ./" +``` + ## Stateful selection One of the greatest underlying assumptions about dbt is that its operations should be **stateless** and ****. That is, it doesn't matter how many times a model has been run before, or if it has ever been run before. It doesn't matter if you run it once or a thousand times. Given the same raw data, you can expect the same transformed result. A given run of dbt doesn't need to "know" about _any other_ run; it just needs to know about the code in the project and the objects in your database as they exist _right now_. From b9d6499ed64454c05cb6351fe75e5eaa8d5b89be Mon Sep 17 00:00:00 2001 From: Will Sargent <109557847+will-sargent-dbtlabs@users.noreply.github.com> Date: Thu, 11 Apr 2024 09:42:24 -0600 Subject: [PATCH 25/44] Update website/docs/reference/node-selection/syntax.md Co-authored-by: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> --- website/docs/reference/node-selection/syntax.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index c7179c25936..f1aca09a7e4 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -106,7 +106,6 @@ Note that when you're using `--selector`, most other flags (namely `--select` an -### Troubleshooting tip: Use the `ls` command! Constructing and debugging selection logic can be challenging. One of the best ways to get a "preview" of what will be selected is to use the [ls](/reference/commands/list) command. This command, when combined with your selection syntax, will output a list of the nodes that meet that selection criteria. All of the selection syntax argument types are supported. From f58e454c965528a3175adcb9d3accf205ee4ef76 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 16:53:24 +0100 Subject: [PATCH 26/44] Update syntax.md --- .../docs/reference/node-selection/syntax.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index f1aca09a7e4..499f1142a94 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -103,21 +103,21 @@ As your selection logic gets more complex, and becomes unwieldly to type out as consider using a [yaml selector](/reference/node-selection/yaml-selectors). You can use a predefined definition with the `--selector` flag. Note that when you're using `--selector`, most other flags (namely `--select` and `--exclude`) will be ignored. - - - +### Troubleshoot with the `ls` command -Constructing and debugging selection logic can be challenging. One of the best ways to get a "preview" of what will be selected is to use the [ls](/reference/commands/list) command. This command, when combined with your selection syntax, will output a list of the nodes that meet that selection criteria. All of the selection syntax argument types are supported. - -Examples: +Constructing and debugging your selection syntax can be challenging. To get a "preview" of what will be selected, we recommend using the [`list` command](/reference/commands/list). This command, when combined with your selection syntax, will output a list of the nodes that meet that selection criteria. The `dbt ls` command supports all types of selection syntax arguments, for example: ```bash -dbt ls --select "path.to.my.models" -dbt ls --select "source_status:fresher+" -dbt ls --select state:modified+ -dbt ls --select "result:+ state:modified+ --defer --state ./" +dbt ls --select "path.to.my.models" # Lists all models in a specific directory. +dbt ls --select "source_status:fresher+" # Shows sources updated since the last dbt source freshness run. +dbt ls --select state:modified+ # Displays nodes modified in comparison to a previous state. +dbt ls --select "result:+ state:modified+ --defer --state ./" # Lists nodes that match certain result statuses and are modified, which can help with troubleshooting. ``` + + + + ## Stateful selection One of the greatest underlying assumptions about dbt is that its operations should be **stateless** and ****. That is, it doesn't matter how many times a model has been run before, or if it has ever been run before. It doesn't matter if you run it once or a thousand times. Given the same raw data, you can expect the same transformed result. A given run of dbt doesn't need to "know" about _any other_ run; it just needs to know about the code in the project and the objects in your database as they exist _right now_. From 5d089ec28f31f163a64451f56eacad5c50ecb33f Mon Sep 17 00:00:00 2001 From: Will Sargent <109557847+will-sargent-dbtlabs@users.noreply.github.com> Date: Thu, 11 Apr 2024 09:59:09 -0600 Subject: [PATCH 27/44] Update website/docs/reference/node-selection/syntax.md Co-authored-by: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 499f1142a94..4d39a91c12e 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -108,7 +108,7 @@ Note that when you're using `--selector`, most other flags (namely `--select` an Constructing and debugging your selection syntax can be challenging. To get a "preview" of what will be selected, we recommend using the [`list` command](/reference/commands/list). This command, when combined with your selection syntax, will output a list of the nodes that meet that selection criteria. The `dbt ls` command supports all types of selection syntax arguments, for example: ```bash -dbt ls --select "path.to.my.models" # Lists all models in a specific directory. +dbt ls --select "path/to/my/models" # Lists all models in a specific directory. dbt ls --select "source_status:fresher+" # Shows sources updated since the last dbt source freshness run. dbt ls --select state:modified+ # Displays nodes modified in comparison to a previous state. dbt ls --select "result:+ state:modified+ --defer --state ./" # Lists nodes that match certain result statuses and are modified, which can help with troubleshooting. From 604d8706ebc579dff591ff199e83bee9d686967a Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 16:59:40 +0100 Subject: [PATCH 28/44] Update syntax.md --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 4d39a91c12e..4cd16cf77dd 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -58,7 +58,7 @@ Examples: ```bash dbt run --select "my_dbt_project_name" # runs all models in your project dbt run --select "my_dbt_model" # runs a specific model -dbt run --select "path.to.my.models" # runs all models in a specific directory +dbt run --select "path/to/my/models" # runs all models in a specific directory dbt run --select "my_package.some_model" # run a specific model in a specific package dbt run --select "tag:nightly" # run models with the "nightly" tag dbt run --select "path/to/models" # run models contained in path/to/models From 69596fca9f5d66e560d42de7d43033cacbe3478a Mon Sep 17 00:00:00 2001 From: Will Sargent <109557847+will-sargent-dbtlabs@users.noreply.github.com> Date: Thu, 11 Apr 2024 10:08:34 -0600 Subject: [PATCH 29/44] Tweaks the result:table --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index 4cd16cf77dd..e9d68baf41b 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -191,7 +191,7 @@ dbt run --select "result: --defer --state path/to/prod/artifacts" The available options depend on the resource (node) type: -| | model | seed | snapshot | test | +| result:\ | model | seed | snapshot | test | |----------------|-------|------|------|----------| | `result:error` | ✅ | ✅ | ✅ | ✅ | | `result:success` | ✅ | ✅ | ✅ | | From 8c111fac804d524229bd800380f82129a1f840fc Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 17:09:48 +0100 Subject: [PATCH 30/44] Update website/docs/reference/node-selection/syntax.md --- website/docs/reference/node-selection/syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index e9d68baf41b..dfa024739a4 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -111,7 +111,7 @@ Constructing and debugging your selection syntax can be challenging. To get a " dbt ls --select "path/to/my/models" # Lists all models in a specific directory. dbt ls --select "source_status:fresher+" # Shows sources updated since the last dbt source freshness run. dbt ls --select state:modified+ # Displays nodes modified in comparison to a previous state. -dbt ls --select "result:+ state:modified+ --defer --state ./" # Lists nodes that match certain result statuses and are modified, which can help with troubleshooting. +dbt ls --select "result:+ state:modified+ --defer --state ./" # Lists nodes that match certain [result statuses](/reference/node-selection/syntax#the-result-status) and are modified. ``` From a139818d8c33856fe6fb364fe8a8f2a63d5cadb9 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 17:20:52 +0100 Subject: [PATCH 31/44] Update syntax.md --- website/docs/reference/node-selection/syntax.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/docs/reference/node-selection/syntax.md b/website/docs/reference/node-selection/syntax.md index dfa024739a4..ed0b563731d 100644 --- a/website/docs/reference/node-selection/syntax.md +++ b/website/docs/reference/node-selection/syntax.md @@ -191,14 +191,14 @@ dbt run --select "result: --defer --state path/to/prod/artifacts" The available options depend on the resource (node) type: -| result:\ | model | seed | snapshot | test | +| `result:\` | model | seed | snapshot | test | |----------------|-------|------|------|----------| -| `result:error` | ✅ | ✅ | ✅ | ✅ | -| `result:success` | ✅ | ✅ | ✅ | | -| `result:skipped` | ✅ | | ✅ | ✅ | -| `result:fail` | | | | ✅ | -| `result:warn` | | | | ✅ | -| `result:pass` | | | | ✅ | +| `result:error` | ✅ | ✅ | ✅ | ✅ | +| `result:success` | ✅ | ✅ | ✅ | | +| `result:skipped` | ✅ | | ✅ | ✅ | +| `result:fail` | | | | ✅ | +| `result:warn` | | | | ✅ | +| `result:pass` | | | | ✅ | ### Combining `state` and `result` selectors From 4850f4b54a54378056bf7c52fb4a7824c2c70928 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Thu, 11 Apr 2024 21:52:45 +0100 Subject: [PATCH 32/44] Update _enterprise-permissions-table.md updating per convo [here](https://dbt-labs.slack.com/archives/C02NCQ9483C/p1712854127875899?thread_ts=1712853013.373529&cid=C02NCQ9483C) w @matthewshaver who addressed my [explicit question](https://dbt-labs.slack.com/archives/C02NCQ9483C/p1712853596648079?thread_ts=1712853013.373529&cid=C02NCQ9483C) --- website/snippets/_enterprise-permissions-table.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/snippets/_enterprise-permissions-table.md b/website/snippets/_enterprise-permissions-table.md index 5eb06797901..eba95a3590e 100644 --- a/website/snippets/_enterprise-permissions-table.md +++ b/website/snippets/_enterprise-permissions-table.md @@ -1,16 +1,16 @@ Key: -* (W)rite — Create new or modify existing. Includes `send`, `create`, `delete`, `allocate`, `modify`, and `read`. +* (W)rite — Create new or modify existing. Includes `send`, `create`, `delete`, `allocate`, `modify`, `develop`, and `read`. * (R)ead — Can view but can not create or change any fields. Permissions: -* Account-level permissions — Permissions related to management of the dbt Cloud account. For example, billing and account settings. +* Account-level permissions — Permissions related to the management of the dbt Cloud account. For example, billing and account settings. * Project-level permissions — Permissions related to the projects in dbt Cloud. For example, repos and access to the IDE or dbt Cloud CLI. ### Account roles -Account roles enable you to manage the dbt Cloud account and manage the account settings (for example, generating service tokens, inviting users, configuring SSO). They also provide project-level permissions. The **Account Admin** role is the highest level of access you can assign. +Account roles enable you to manage the dbt Cloud account and manage the account settings (for example, generating service tokens, inviting users, and configuring SSO). They also provide project-level permissions. The **Account Admin** role is the highest level of access you can assign. #### Account permissions for account roles @@ -84,7 +84,7 @@ The project roles enable you to work within the projects in various capacities. | Metadata | R | R | R | R | R | R | | R | R | | R | R | | | Permissions (Groups & Licenses) | W | | R | R | R | | | | | | | R | | | Profile (Credentials) | W | R | | R | R | R | | | | | R | | | -| Projects | W | R | W | R | W | R | | R | | | R | W | | +| Projects | W | W | W | W | W | R | | R | | | R | W | | | Repositories | W | | R | R | W | | | | | | R | R | | | Runs | W | R | R | W | R | W | W | R | | | R | R | | | Semantic Layer Config | W | R | W | R | R | R | | | | W | R | R | | From 80de4bd91a8bca68b393b42b663ba6d4bceef9f9 Mon Sep 17 00:00:00 2001 From: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> Date: Thu, 11 Apr 2024 15:30:01 -0700 Subject: [PATCH 33/44] Update website/docs/docs/use-dbt-semantic-layer/exports.md --- website/docs/docs/use-dbt-semantic-layer/exports.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/use-dbt-semantic-layer/exports.md b/website/docs/docs/use-dbt-semantic-layer/exports.md index a7614d5c3c7..0b363ee990b 100644 --- a/website/docs/docs/use-dbt-semantic-layer/exports.md +++ b/website/docs/docs/use-dbt-semantic-layer/exports.md @@ -192,7 +192,7 @@ When you run a build job, any saved queries downstream of the dbt models in that -2. After dbt finishes building the models, the MetricFlow Server processes the exports, compiles the necessary SQL, and executes this SQL against your data platform. It directly executes a "create table" statement, so the data stays within your data platform. +2. After dbt finishes building the models, the MetricFlow Server processes the exports, compiles the necessary SQL, and executes this SQL against your data platform. It directly executes a "create table" statement so the data stays within your data platform. 3. Review the exports' execution details in the jobs logs and confirm the export was run successfully. This helps troubleshoot and to ensure accuracy. Since saved queries are integrated into the dbt DAG, all outputs related to exports are available in the job logs. 4. Your data is now available in the data platform for querying. From 3a15ac67f0549155931e5d561a8c77147a8103f2 Mon Sep 17 00:00:00 2001 From: Tania <92768464+Tonayya@users.noreply.github.com> Date: Fri, 12 Apr 2024 11:45:55 +1000 Subject: [PATCH 34/44] Update set-up-databricks-oauth.md (#5263) ## What are you changing in this pull request and why? Changed the Databricks OAuth application setup instructions to follow the steps for setting up via the Databricks UI. The CLI version proved to be overly complicated and challenging for users. Also noted the relevant scopes required depending on customers' needs. The relevant redirect URLs have been provided as well. I think there's some formatting issues so please feel free to correct this according to our guidelines! Thanks team. ## Checklist - [x] Review the [Content style guide](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/content-style-guide.md) so my content adheres to these guidelines. --------- Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- .../cloud/about-cloud/regions-ip-addresses.md | 2 +- .../manage-access/set-up-databricks-oauth.md | 38 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/website/docs/docs/cloud/about-cloud/regions-ip-addresses.md b/website/docs/docs/cloud/about-cloud/regions-ip-addresses.md index 97ea3a85945..debabd1399c 100644 --- a/website/docs/docs/cloud/about-cloud/regions-ip-addresses.md +++ b/website/docs/docs/cloud/about-cloud/regions-ip-addresses.md @@ -12,7 +12,7 @@ dbt Cloud is [hosted](/docs/cloud/about-cloud/architecture) in multiple regions | Region | Location | Access URL | IP addresses | Developer plan | Team plan | Enterprise plan | |--------|----------|------------|--------------|----------------|-----------|-----------------| -| North America [^1] | AWS us-east-1 (N. Virginia) | **Multi-tenant:** cloud.getdbt.com
**Cell based:** {account prefix}.us1.dbt.com | 52.45.144.63
54.81.134.249
52.22.161.231
52.3.77.232
3.214.191.130
34.233.79.135 | ✅ | ✅ | ✅ | +| North America [^1] | AWS us-east-1 (N. Virginia) | **Multi-tenant:** cloud.getdbt.com
**Cell based:** ACCOUNT_PREFIX.us1.dbt.com | 52.45.144.63
54.81.134.249
52.22.161.231
52.3.77.232
3.214.191.130
34.233.79.135 | ✅ | ✅ | ✅ | | EMEA [^1] | AWS eu-central-1 (Frankfurt) | emea.dbt.com | 3.123.45.39
3.126.140.248
3.72.153.148 | ❌ | ❌ | ✅ | | APAC [^1] | AWS ap-southeast-2 (Sydney)| au.dbt.com | 52.65.89.235
3.106.40.33
13.239.155.206
| ❌ | ❌ | ✅ | | Virtual Private dbt or Single tenant | Customized | Customized | Ask [Support](/community/resources/getting-help#dbt-cloud-support) for your IPs | ❌ | ❌ | ✅ | diff --git a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md index e790c234696..5f4b952596b 100644 --- a/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md +++ b/website/docs/docs/cloud/manage-access/set-up-databricks-oauth.md @@ -24,31 +24,31 @@ Current limitations: ### Configure Databricks OAuth (Databricks admin) -To get started, you will need to [add dbt as an OAuth application](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html) with Databricks, in 2 steps: +To get started, you will need to [add dbt as an OAuth application](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html) with Databricks. There are two ways of configuring this application (CLI or Databricks UI). Here's how you can set this up in the Databricks UI: -1. From your terminal, [authenticate to the Databricks Account API](https://docs.databricks.com/en/integrations/configure-oauth-dbt.html#authenticate-to-the-account-api) with the Databricks CLI. You authenticate using: - - OAuth for users ([prerequisites](https://docs.databricks.com/en/dev-tools/auth.html#oauth-u2m-auth)) - - Oauth for service principals ([prerequisites](https://docs.databricks.com/en/dev-tools/auth.html#oauth-m2m-auth)) - - Username and password (must be account admin) -2. In the same terminal, **add dbt Cloud as an OAuth application** using `curl` and the [OAuth Custom App Integration API](https://docs.databricks.com/api/account/customappintegration/create) +1. Log in to the [account console](https://accounts.cloud.databricks.com/?_ga=2.255771976.118201544.1712797799-1002575874.1704693634) and click the **Settings** icon in the sidebar. -For the second step, you can use this example `curl` to authenticate with your username and password, replacing values as defined in the following table: +2. On the **App connections** tab, click **Add connection**. -```shell -curl -u USERNAME:PASSWORD https://accounts.cloud.databricks.com/api/2.0/accounts/ACCOUNT_ID/oauth2/custom-app-integrations -d '{"redirect_urls": ["https://YOUR_ACCESS_URL", "https://YOUR_ACCESS_URL/complete/databricks"], "confidential": true, "name": "NAME", "scopes": ["sql", "offline_access"]}' -``` +3. Enter the following details: + - A name for your connection. + - The redirect URLs for your OAuth connection, which you can find in the table later in this section. + - For Access scopes, the APIs the application should have access to: + - For BI applications, the SQL scope is required to allow the connected app to access Databricks SQL APIs (this is required for SQL models). + - For applications that need to access Databricks APIs for purposes other than querying, the ALL APIs scope is required (this is required if running Python models). + - The access token time-to-live (TTL) in minutes. Default: 60. + - The refresh token time-to-live (TTL) in minutes. Default: 10080. +4. Select **Generate a client secret**. Copy and securely store the client secret. The client secret will not be available later. -These parameters and descriptions will help you authenticate with your username and password: +You can use the following table to set up the redirect URLs for your application, replacing ACCOUNT_PREFIX with the cell 1 prefix for your region and INSTANCE_NAME with the custom name of your instance: -| Parameter | Description | +| Region | Redirect URLs | | ------ | ----- | -| **USERNAME** | Your Databricks username (account admin level) | -| **PASSWORD** | Your Databricks password (account admin level) | -| **ACCOUNT_ID** | Your Databricks [account ID](https://docs.databricks.com/en/administration-guide/account-settings/index.html#locate-your-account-id) | -| **YOUR_ACCESS_URL** | The [appropriate Access URL](/docs/cloud/about-cloud/access-regions-ip-addresses) for your dbt Cloud account region and plan | -| **NAME** | The integration name (i.e 'databricks-dbt-cloud') - -After running the `curl`, you'll get an API response that includes the `client_id` and `client_secret` required in the following section. At this time, this is the only way to retrieve the secret. If you lose the secret, then the integration needs to be [deleted](https://docs.databricks.com/api/account/customappintegration/delete) and re-created. +| **US multi-tenant** | https://cloud.getdbt.com/callback
https://cloud.getdbt.com/complete/databricks | +| **US cell 1** | https://ACCOUNT_PREFIX.us1.dbt.com/callback
https://ACCOUNT_PREFIX.us1.dbt.com/complete/databricks | +| **EMEA** | https://emea.dbt.com/callback
https://emea.dbt.com/complete/databricks | +| **APAC** | https://au.dbt.com/callback
https://au.dbt.com/complete/databricks | +| **Single tenant** | https://INSTANCE_NAME.getdbt.com/callback
https://INSTANCE_NAME.getdbt.com/complete/databricks ### Configure the Connection in dbt Cloud (dbt Cloud project admin) From 8d4052a7bfc543af86b3a1f99e5b64f181295b0f Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:18:58 +0100 Subject: [PATCH 35/44] Update deploy-jobs.md add clarifying info about cron schedule frequency varying by plan. --- website/docs/docs/deploy/deploy-jobs.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index cd9343efb29..4f26d70b9b3 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -86,13 +86,20 @@ dbt Cloud uses [Coordinated Universal Time](https://en.wikipedia.org/wiki/Coordi To fully customize the scheduling of your job, choose the **Cron schedule** option and use cron syntax. With this syntax, you can specify the minute, hour, day of the month, month, and day of the week, allowing you to set up complex schedules like running a job on the first Monday of each month. -Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct cron syntax. This tool allows you to input cron snippets and returns their plain English translations. +**Cron frequency** +To enhance performance, job scheduling frequencies vary by dbt Cloud plan: +ob scheduling frequencies vary by plan: -Here are examples of cron job schedules. The dbt Cloud job scheduler supports using `L` to schedule jobs on the last day of the month: +- Developer plans: dbt Cloud sets a minimum interval of every 10 minutes for scheduling jobs. This means scheduling jobs to run more frequently than this interval is not supported. +- Team and Enterprise plans: No restrictions on job execution frequency. + +**Examples** + +Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct cron syntax. This tool allows you to input cron snippets and return their plain English translations. Here are examples of cron job schedules. The dbt Cloud job scheduler supports using `L` to schedule jobs on the last day of the month: - `0 * * * *`: Every hour, at minute 0. -- `*/5 * * * *`: Every 5 minutes. +- `*/5 * * * *`: Every 5 minutes. (Not available on Developer plans) - `5 4 * * *`: At exactly 4:05 AM UTC. - `30 */4 * * *`: At minute 30 past every 4th hour (such as 4:30 AM, 8:30 AM, 12:30 PM, and so on, all UTC). - `0 0 */2 * *`: At 12:00 AM (midnight) UTC every other day. From b2ad356065d155ebb373eb707ab680747995eb1a Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:26:46 +0100 Subject: [PATCH 36/44] Update deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 4f26d70b9b3..69831299d1f 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -87,6 +87,7 @@ dbt Cloud uses [Coordinated Universal Time](https://en.wikipedia.org/wiki/Coordi To fully customize the scheduling of your job, choose the **Cron schedule** option and use cron syntax. With this syntax, you can specify the minute, hour, day of the month, month, and day of the week, allowing you to set up complex schedules like running a job on the first Monday of each month. **Cron frequency** + To enhance performance, job scheduling frequencies vary by dbt Cloud plan: ob scheduling frequencies vary by plan: From 79a7f2e02c77334f1e3a404ac25c78624532831e Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:27:26 +0100 Subject: [PATCH 37/44] Update website/docs/docs/deploy/deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 69831299d1f..7ced24c09d8 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -89,7 +89,6 @@ To fully customize the scheduling of your job, choose the **Cron schedule** opti **Cron frequency** To enhance performance, job scheduling frequencies vary by dbt Cloud plan: -ob scheduling frequencies vary by plan: - Developer plans: dbt Cloud sets a minimum interval of every 10 minutes for scheduling jobs. This means scheduling jobs to run more frequently than this interval is not supported. - Team and Enterprise plans: No restrictions on job execution frequency. From 223d3272e1b5e37fea4001c93c9e1a1ef17c6046 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:28:21 +0100 Subject: [PATCH 38/44] Update deploy-jobs.md --- website/docs/docs/deploy/deploy-jobs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 7ced24c09d8..12733a5a409 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -95,8 +95,9 @@ To enhance performance, job scheduling frequencies vary by dbt Cloud plan: **Examples** -Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct cron syntax. This tool allows you to input cron snippets and return their plain English translations. Here are examples of cron job schedules. The dbt Cloud job scheduler supports using `L` to schedule jobs on the last day of the month: +Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct cron syntax. This tool allows you to input cron snippets and return their plain English translations. The dbt Cloud job scheduler supports using `L` to schedule jobs on the last day of the month. +Here are examples of cron job schedules: - `0 * * * *`: Every hour, at minute 0. - `*/5 * * * *`: Every 5 minutes. (Not available on Developer plans) From 99934d71c967cc3d3730874a9366bd40b190ae71 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:16:18 +0100 Subject: [PATCH 39/44] Update python-models.md add colon --- website/docs/docs/build/python-models.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index eff5e228e44..93718f43995 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -630,8 +630,7 @@ def model(dbt, session): ) ``` -**External access integrations and secrets** -To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: +**External access integrations and secrets**: To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: ``` import pandas From 899667d28767cccb07304bec27a7609f1746e6df Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:19:48 +0100 Subject: [PATCH 40/44] Update python-models.md add vb --- website/docs/docs/build/python-models.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index 93718f43995..884b9bdd321 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -629,7 +629,8 @@ def model(dbt, session): python_version="3.11" ) ``` - + + **External access integrations and secrets**: To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: ``` @@ -649,6 +650,9 @@ def model(dbt, session: snowpark.Session): ) ) ``` + + + **About "sprocs":** dbt submits Python models to run as _stored procedures_, which some people call _sprocs_ for short. By default, dbt will create a named sproc containing your model's compiled Python code, and then _call_ it to execute. Snowpark has an Open Preview feature for _temporary_ or _anonymous_ stored procedures ([docs](https://docs.snowflake.com/en/sql-reference/sql/call-with.html)), which are faster and leave a cleaner query history. You can switch this feature on for your models by configuring `use_anonymous_sproc: True`. We plan to switch this on for all dbt + Snowpark Python models starting with the release of dbt Core version 1.4. From 31eba3faf6bcda9aec90aac66fca5e4f3f409265 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:31:38 +0100 Subject: [PATCH 41/44] Update python-models.md fix rendering --- website/docs/docs/build/python-models.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index 884b9bdd321..41c71caf229 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -629,6 +629,7 @@ def model(dbt, session): python_version="3.11" ) ``` + **External access integrations and secrets**: To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: From 8af042b88b99c80f3f5496965c4166a178addc8a Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Fri, 12 Apr 2024 16:40:12 +0100 Subject: [PATCH 42/44] remove space --- website/docs/docs/build/python-models.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/python-models.md b/website/docs/docs/build/python-models.md index 41c71caf229..87191d74d8f 100644 --- a/website/docs/docs/build/python-models.md +++ b/website/docs/docs/build/python-models.md @@ -631,7 +631,7 @@ def model(dbt, session): ``` - + **External access integrations and secrets**: To query external APIs within dbt Python models, use Snowflake’s [external access](https://docs.snowflake.com/en/developer-guide/external-network-access/external-network-access-overview) together with [secrets](https://docs.snowflake.com/en/developer-guide/external-network-access/secret-api-reference). Here are some additional configurations you can use: ``` From 751924719de5ab1966e39915130b3b0291421e7c Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:29:16 +0100 Subject: [PATCH 43/44] Update website/docs/docs/deploy/deploy-jobs.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 12733a5a409..4865a2de53c 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -97,7 +97,7 @@ To enhance performance, job scheduling frequencies vary by dbt Cloud plan: Use tools such as [crontab.guru](https://crontab.guru/) to generate the correct cron syntax. This tool allows you to input cron snippets and return their plain English translations. The dbt Cloud job scheduler supports using `L` to schedule jobs on the last day of the month. -Here are examples of cron job schedules: +Examples of cron job schedules: - `0 * * * *`: Every hour, at minute 0. - `*/5 * * * *`: Every 5 minutes. (Not available on Developer plans) From 48db5d748909967439ff6714d06828e025c9930d Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:29:33 +0100 Subject: [PATCH 44/44] Update website/docs/docs/deploy/deploy-jobs.md Co-authored-by: Leona B. Campbell <3880403+runleonarun@users.noreply.github.com> --- website/docs/docs/deploy/deploy-jobs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/deploy/deploy-jobs.md b/website/docs/docs/deploy/deploy-jobs.md index 4865a2de53c..7a59336736d 100644 --- a/website/docs/docs/deploy/deploy-jobs.md +++ b/website/docs/docs/deploy/deploy-jobs.md @@ -90,7 +90,7 @@ To fully customize the scheduling of your job, choose the **Cron schedule** opti To enhance performance, job scheduling frequencies vary by dbt Cloud plan: -- Developer plans: dbt Cloud sets a minimum interval of every 10 minutes for scheduling jobs. This means scheduling jobs to run more frequently than this interval is not supported. +- Developer plans: dbt Cloud sets a minimum interval of every 10 minutes for scheduling jobs. This means scheduling jobs to run more frequently, or at less than 10 minute intervals, is not supported. - Team and Enterprise plans: No restrictions on job execution frequency. **Examples**