Skip to content

Commit

Permalink
Merge branch 'current' into vale-deleted-files
Browse files Browse the repository at this point in the history
  • Loading branch information
mirnawong1 authored Nov 4, 2024
2 parents 8f8383e + e622c34 commit 8704851
Show file tree
Hide file tree
Showing 160 changed files with 1,322 additions and 1,004 deletions.
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ To learn more about the writing conventions used in the dbt Labs docs, see the [
- [ ] I have reviewed 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.
- [ ] The topic I'm writing about is for specific dbt version(s) and I have versioned it according to the [version a whole page](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#adding-a-new-version) and/or [version a block of content](https://github.com/dbt-labs/docs.getdbt.com/blob/current/contributing/single-sourcing-content.md#versioning-blocks-of-content) guidelines.
- [ ] I have added checklist item(s) to this list for anything anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."
- [ ] The content in this PR requires a dbt release note, so I added one to the [release notes page](https://docs.getdbt.com/docs/dbt-versions/dbt-cloud-release-notes).
<!--
PRE-RELEASE VERSION OF dbt (if so, uncomment):
- [ ] Add a note to the prerelease version [Migration Guide](https://github.com/dbt-labs/docs.getdbt.com/tree/current/website/docs/docs/dbt-versions/core-upgrade)
Expand Down
2 changes: 1 addition & 1 deletion contributing/single-sourcing-content.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ This component can be added directly to a markdown file in a similar way as othe
Both properties can be used together to set a range where the content should show. In the example below, this content will only show if the selected version is between **0.21** and **1.0**:

```markdown
<VersionBlock lastVersion="1.6">
<VersionBlock lastVersion="1.9">

Versioned content here

Expand Down
26 changes: 14 additions & 12 deletions styles/custom/UIElements.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
# styles/custom/BoldUIElements.yml
extends: existence
message: "UI elements like '%s' should be bold."
level: warning
tokens:
# Match UI elements that are not bolded (i.e., not within **), but exclude those starting a sentence or following a list number
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bSave\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bSave as\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bCancel\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bSubmit\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bEdit\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bAccount settings\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bProject details\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bProfile settings\b'
- '(?<!^)(?<![.!?]\s)(?<!\d\.\s)\bPersonal profile\b'
# Match UI elements that are not bolded (i.e., not within **)
- '(?<!\*\*)\bSave\b(?!\*\*)'
- '(?<!\*\*)\bSave as\b(?!\*\*)'
- '(?<!\*\*)\bCancel\b(?!\*\*)'
- '(?<!\*\*)\bSubmit\b(?!\*\*)'
- '(?<!\*\*)\bEdit\b(?!\*\*)'
- '(?<!\*\*)\bAccount settings\b(?!\*\*)'
- '(?<!\*\*)\bProject details\b(?!\*\*)'
- '(?<!\*\*)\bProfile settings\b(?!\*\*)'
- '(?<!\*\*)\bPersonal profile\b(?!\*\*)'
- '(?<!\*\*)\bIntegrations\b(?!\*\*)'
- '(?<!\*\*)\bNotification settings\b(?!\*\*)'

scope: raw # Ensure the rule is applied before formatting
scope:
- raw
2 changes: 1 addition & 1 deletion website/blog/2022-07-13-star-sql-love-letter.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ So what does this mean for the example from above? Instead of writing out all 55

```sql
select
{{ dbt_utils.star(from=ref('table_a'), except=['column_56'] }}
{{ dbt_utils.star(from=ref('table_a'), except=['column_56']) }}
from {{ ref('table_a') }}
```

Expand Down
134 changes: 1 addition & 133 deletions website/dbt-versions.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,7 @@ exports.versions = [
},
{
version: "1.7",
EOLDate: "2024-10-30",
},
{
version: "1.6",
EOLDate: "2024-07-31",
EOLDate: "2024-11-01",
},
];

Expand Down Expand Up @@ -66,134 +62,6 @@ exports.versionedPages = [
page: "reference/global-configs/indirect-selection",
firstVersion: "1.8",
},
{
page: "reference/resource-configs/store_failures_as",
firstVersion: "1.7",
},
{
page: "docs/build/build-metrics-intro",
firstVersion: "1.6",
},
{
page: "docs/build/sl-getting-started",
firstVersion: "1.6",
},
{
page: "docs/build/about-metricflow",
firstVersion: "1.6",
},
{
page: "docs/build/join-logic",
firstVersion: "1.6",
},
{
page: "docs/build/validation",
firstVersion: "1.6",
},
{
page: "docs/build/semantic-models",
firstVersion: "1.6",
},
{
page: "docs/build/group-by",
firstVersion: "1.6",
},
{
page: "docs/build/entities",
firstVersion: "1.6",
},
{
page: "docs/build/metrics-overview",
firstVersion: "1.6",
},
{
page: "docs/build/cumulative",
firstVersion: "1.6",
},
{
page: "docs/build/derived",
firstVersion: "1.6",
},
{
page: "docs/build/measure-proxy",
firstVersion: "1.6",
},
{
page: "docs/build/ratio",
firstVersion: "1.6",
},
{
page: "reference/commands/clone",
firstVersion: "1.6",
},
{
page: "docs/collaborate/govern/project-dependencies",
firstVersion: "1.6",
},
{
page: "reference/dbt-jinja-functions/thread_id",
firstVersion: "1.6",
},
{
page: "reference/resource-properties/deprecation_date",
firstVersion: "1.6",
},
{
page: "reference/commands/retry",
firstVersion: "1.6",
},
{
page: "docs/build/groups",
firstVersion: "1.5",
},
{
page: "docs/collaborate/govern/model-contracts",
firstVersion: "1.5",
},
{
page: "reference/commands/show",
firstVersion: "1.5",
},
{
page: "docs/collaborate/govern/model-access",
firstVersion: "1.5",
},
{
page: "docs/collaborate/govern/model-versions",
firstVersion: "1.5",
},
{
page: "reference/programmatic-invocations",
firstVersion: "1.5",
},
{
page: "reference/resource-configs/contract",
firstVersion: "1.5",
},
{
page: "reference/resource-configs/group",
firstVersion: "1.5",
},
{
page: "reference/resource-properties/access",
firstVersion: "1.5",
},
{
page: "reference/resource-properties/constraints",
firstVersion: "1.5",
},
{
page: "reference/resource-properties/latest_version",
firstVersion: "1.5",
},
{
page: "reference/resource-properties/versions",
firstVersion: "1.5",
},
{
page: "reference/resource-configs/on_configuration_change",
firstVersion: "1.6",
},
];

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ Is dbt Mesh a good fit in this scenario? Absolutely! There is no other way to sh
- Onboarding hundreds of people and dozens of projects is full of friction! The challenges of a scaled, global organization are not to be underestimated. To start the migration, prioritize teams that have strong dbt familiarity and fundamentals. dbt Mesh is an advancement of core dbt deployments, so these teams are likely to have a smoother transition.

Additionally, prioritize teams that manage strategic data assets that need to be shared widely. This ensures that dbt Mesh will help your teams deliver concrete value quickly.
- Bi-directional project dependencies -- currently, projects in dbt Mesh are treated like dbt resources in that they cannot depend on each other. However, many teams may want to be able to share data assets back and forth between teams.

We've added support for [enabling bidirectional dependencies](/best-practices/how-we-mesh/mesh-3-structures#cycle-detection) across projects. <Lifecycle status="beta"/>

If this sounds like your organization, dbt Mesh is the architecture you should pursue. ✅

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Since the launch of dbt Mesh, the most common pattern we've seen is one where pr

Users may need to contribute models across multiple projects and this is fine. There will be some friction doing this, versus a single repo, but this is _useful_ friction, especially if upstreaming a change from a “spoke” to a “hub.” This should be treated like making an API change, one that the other team will be living with for some time to come. You should be concerned if your teammates find they need to make a coordinated change across multiple projects very frequently (every week), or as a key prerequisite for ~20%+ of their work.

### Cycle detection <Lifecycle status="beta"/>
### Cycle detection

import CycleDetection from '/snippets/_mesh-cycle-detection.md';

Expand Down
3 changes: 2 additions & 1 deletion website/docs/best-practices/how-we-structure/4-marts.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ models/marts

✅ **Group by department or area of concern.** If you have fewer than 10 or so marts you may not have much need for subfolders, so as with the intermediate layer, don’t over-optimize too early. If you do find yourself needing to insert more structure and grouping though, use useful business concepts here. In our marts layer, we’re no longer worried about source-conformed data, so grouping by departments (marketing, finance, etc.) is the most common structure at this stage.

✅ **Name by entity.** Use plain English to name the file based on the concept that forms the grain of the mart `customers`, `orders`. Note that for pure marts, there should not be a time dimension (`orders_per_day`) here, that is typically best captured via metrics.
✅ **Name by entity.** Use plain English to name the file based on the concept that forms the grain of the mart’s `customers`, `orders`. Marts that don't include any time-based rollups (pure marts) should not have a time dimension (`orders_per_day`) here, typically best captured via metrics.


❌ **Build the same concept differently for different teams.** `finance_orders` and `marketing_orders` is typically considered an anti-pattern. There are, as always, exceptions — a common pattern we see is that, finance may have specific needs, for example reporting revenue to the government in a way that diverges from how the company as a whole measures revenue day-to-day. Just make sure that these are clearly designed and understandable as _separate_ concepts, not departmental views on the same concept: `tax_revenue` and `revenue` not `finance_revenue` and `marketing_revenue`.

Expand Down
25 changes: 11 additions & 14 deletions website/docs/community/spotlight/bruno-de-lima.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,39 @@
id: bruno-de-lima
title: Bruno de Lima
description: |
Hi all! I'm a Data Engineer, deeply fascinated by the awesomeness dbt. I love talking about dbt, creating content from daily tips to blogposts and engaging with this vibrant community!
Started my career at the beginning of 2022 at Indicium as an Analytics Engineer, working with dbt from day 1. By 2023, my path took a global trajectory as I joined phData as a Data Engineer, expanding my experiences and forging connections beyond Brazil. While dbt is at the heart of my expertise, I've also delved into data warehouses such as Snowflake, Databricks, and BigQuery; visualization tools like Power BI and Tableau; and several minor modern data stack tools.
I actively participate in the dbt community, having attended two <a href="https://www.meetup.com/en-AU/florianopolis-dbt-meetup" rel="noopener noreferrer" target="_blank">dbt Meetups in Brazil</a> organized by Indicium; writing about dbt-related topics in my Medium and LinkedIn profiles; contributing to the code; and frequently checking <a href="https://www.getdbt.com/community/join-the-community/" rel="noopener noreferrer" target="_blank">dbt Slack</a> and <a href="https://discourse.getdbt.com/" rel="noopener noreferrer" target="_blank">Discourse</a>, helping (and being helped by) other dbt practitioners. If you are a community member, you may have seen me around!
image: /img/community/spotlight/bruno-de-lima.jpg
Hey all! I was born and raised in Florianopolis, Brazil, and I'm a Senior Data Engineer at phData. I live with my fiancée and I enjoy music, photography, and powerlifting.
I started my career in early 2022 at Indicium as an Analytics Engineer, working with dbt from day 1. By 2023, my path took a global trajectory as I joined phData as a Data Engineer, expanding my experiences and creating connections beyond Brazil. While dbt is my main expertise, because of my work in consultancy I have experience with a large range of tools, specially the ones related to Snowflake, Databricks, AWS and GCP; but I have already tried several other modern data stack tools too.
I actively participate in the dbt community, having organized dbt Meetups in Brazil (in <a href="https://www.meetup.com/en-AU/florianopolis-dbt-meetup" rel="noopener noreferrer" target="_blank">Floripa</a> and <a href="https://www.meetup.com/sao-paulo-dbt-meetup-group/" target="_blank">São Paulo</a>); writing about dbt-related topics in my Medium and LinkedIn profiles; contributing to the dbt Core code and to the docs; and frequently checking <a href="https://www.getdbt.com/community/join-the-community/" rel="noopener noreferrer" target="_blank">dbt Slack</a> and <a href="https://discourse.getdbt.com/" rel="noopener noreferrer" target="_blank">Discourse</a>, helping (and being helped by) other dbt practitioners. If you are a community member, you may have seen me around!
image: /img/community/spotlight/bruno-souza-de-lima-newimage.jpg
pronouns: he/him
location: Florianópolis, Brazil
jobTitle: Data Engineer
jobTitle: Senior Data Engineer
companyName: phData
organization: ""
socialLinks:
- name: LinkedIn
link: https://www.linkedin.com/in/brunoszdl/
- name: Medium
link: https://medium.com/@bruno.szdl
dateCreated: 2023-11-05
dateCreated: 2024-11-03
hide_table_of_contents: true
communityAward: true
communityAwardYear: 2023
communityAwardYear: 2024
---

## When did you join the dbt community and in what way has it impacted your career?

I was not truly happy with my academic life. My career took a new turn when I enrolled in the Analytics Engineer course by Indicium. That was my first contact with dbt, and I didn't realize how much it would transform my career. After that, I was hired at the company as an Analytics Engineer and worked extensively with dbt from day one.
I was not truly happy with my academic life. My career took a new turn when I enrolled in the Analytics Engineer course by Indicium. That was my first contact with dbt, and I didn't realize how much it would transform my career. After that, I was hired at the company as an Analytics Engineer and worked extensively with dbt from day one.

It took me some time to become an active member of the dbt community. I started working with dbt at the beginning of 2022 and became more involved towards the end of that year, encouraged by Daniel Avancini. I regret not doing this earlier, because being an active community member has been a game-changer for me, as my knowledge of dbt has grown exponentially just by participating in daily discussions on Slack. I have found #advice-dbt-help and #advice-dbt-for-power-users channels particularly useful, as well as the various database-specific channels. Additionally, the #i-made-this and #i-read-this channels have allowed me to learn about the innovative things that community members are doing.

Inspired by other members, especially Josh Devlin and Owen Prough, I began answering questions on Slack and Discourse. For questions I couldn't answer, I would try engaging in discussions about possible solutions or provide useful links. I also started posting dbt tips on LinkedIn to help practitioners learn about new features or to refresh their memories about existing ones.

By being more involved in the community, I felt more connected and supported. I received help from other members, and now, I could help others, too. I was happy with this arrangement, but more unexpected surprises came my way. My active participation in Slack, Discourse, and LinkedIn opened doors to new connections and career opportunities. I had the pleasure of meeting a lot of incredible people and receiving exciting job offers, including the one for working at phData.
By being more involved in the community, I felt more connected and supported. I received help from other members, and now, I could help others, too. I was happy with this arrangement, but more unexpected surprises came my way. My active participation in Slack, Discourse, and LinkedIn opened doors to new connections and career opportunities. I had the pleasure of meeting a lot of incredible people and receiving exciting job offers, including the ones for working at phData and teaching at Zach Wilson's data engineering bootcamp.

Thanks to the dbt community, I went from feeling uncertain about my career prospects to having a solid career and being surrounded by incredible people.

I would like to thank the Indicium folks for opening the first door for me for this career in data, and not just for me but for lots of people in Brazil trying to migrate from different fields who would not have this opportunity otherwise.

## What dbt community leader do you identify with? How are you looking to grow your leadership in the dbt community?

I identify with Gwen Windflower and Joel Labes, or at least they are the kind of leader I admire. Their strong presence and continuous interaction with all types of dbt enthusiasts make everyone feel welcomed in the community. They uplift those who contribute to the community, whether it's through a LinkedIn post or answering a question, and provide constructive feedback to help them improve. And of course they show a very strong knowledge about dbt and data in general, which is reflected in their contributions.
Expand Down
35 changes: 35 additions & 0 deletions website/docs/community/spotlight/christophe-oudar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
id: christophe-oudar
title: Christophe Oudar
description: |
I joined the dbt Community in November 2021 after exchanging some issues in Github. I currently work as a staff engineer at a scaleup in the ad tech industry called Teads, which I joined 11 years ago as a new grad. I've been using dbt Core on BigQuery since then. I write about data engineering both on <a target="_blank" rel="noopener noreferrer" href="https://medium.com/@kayrnt">Medium</a> and <a target="_blank" rel="noopener noreferrer" href="https://smallbigdata.substack.com/">Substack</a>. I contribute on <a target="_blank" rel="noopener noreferrer" href="https://github.com/dbt-labs/dbt-bigquery/">dbt-bigquery</a>. I wrote an article that was then featured on the Developer Blog called <a target="_blank" rel="noopener noreferrer" href="https://docs.getdbt.com/blog/bigquery-ingestion-time-partitioning-and-partition-copy-with-dbt.">BigQuery ingestion-time partitioning and partition copy with dbt</a>.
image: /img/community/spotlight/christophe-oudar.jpg
pronouns: he/him
location: Montpellier, France
jobTitle: Staff Engineer
companyName: Teads
socialLinks:
- name: X
link: https://x.com/Kayrnt
- name: LinkedIn
link: https://www.linkedin.com/in/christopheoudar/
- name: Substack
link: https://smallbigdata.substack.com/
dateCreated: 2024-11-08
hide_table_of_contents: true
communityAward: true
communityAwardYear: 2024
---

## When did you join the dbt community and in what way has it impacted your career?

I joined the community in November 2021 as a way to explore how to move our in-house data modeling layer to dbt. The transition took over a year while we ensured we could cover all our bases and add missing features to dbt-bigquery. That project was one of stepping stones that helped me to move from senior to staff level at my current job.

## What dbt community leader do you identify with? How are you looking to grow your leadership in the dbt community?

I identify with leaders that have strong convictions about how data engineering should move forward but remain open to innovation and ideas from everyone to bring the best to the field and make it as inclusive as possible to all cultures and profiles. I think that could mean people like Jordan Tigani or Mark Raasveldt. In the dbt community, my leadership has looked like helping people struggling and offering better ways to simplify one's day to day work when possible.

## What have you learned from community members? What do you hope others can learn from you?

I read a lot of articles about dbt, especially when I got started with it. It helped me a lot to build a proper Slim CI that could fit my company's ways of working. I also got to see how data pipelines were done in other companies and the pros and cons of my approaches. I hope I can share more of that knowledge for people to pick what's best for their needs.
Loading

0 comments on commit 8704851

Please sign in to comment.