From 2af5f7d40ae1fa4798ad59634ffdd189eb3276c3 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 2 Oct 2024 10:55:06 +0100 Subject: [PATCH 01/10] add add'l example to explain add'l properties --- website/docs/docs/build/ratio-metrics.md | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index cc1d13b7835..0d9af276ecf 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -45,6 +45,11 @@ For advanced data modeling, you can use `fill_nulls_with` and `join_to_timespine ## Ratio metrics example +These examples demonstrate how to create ratio metrics in your model. They cover basic and advanced use cases, including applying filters to the numerator and denominator metrics. + +#### Example 1 +This example is a basic ratio metric that calculates the ratio of food orders to total orders: + ```yaml metrics: - name: food_order_pct @@ -56,6 +61,27 @@ metrics: denominator: orders ``` +#### Example 2 +This eample is a ratio metric that calculates the ratio of food orders to total orders, with a filter and alias applied to the numerator: + +```yaml +metrics: + - name: food_order_pct + description: "The food order count as a ratio of the total order count, filtered by location" + label: Food order ratio by location + type: ratio + type_params: + numerator: + name: food_orders + filter: location = 'New York' + alias: ny_food_orders + denominator: + name: orders + filter: location = 'New York' + alias: ny_orders +``` + + ## Ratio metrics using different semantic models The system will simplify and turn the numerator and denominator into a ratio metric from different semantic models by computing their values in sub-queries. It will then join the result set based on common dimensions to calculate the final ratio. Here's an example of the SQL generated for such a ratio metric. From fb0145244ed3c8891b5f0501fe821ff3dc882e57 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:02:52 +0100 Subject: [PATCH 02/10] Update ratio-metrics.md --- website/docs/docs/build/ratio-metrics.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index 0d9af276ecf..da070ee7123 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -24,6 +24,8 @@ Ratio allows you to create a ratio between two metrics. You simply specify a num The following displays the complete specification for ratio metrics, along with an example. + + ```yaml metrics: - name: The metric name # Required @@ -40,6 +42,7 @@ metrics: filter: Filter for the denominator # Optional alias: Alias for the denominator # Optional ``` + For advanced data modeling, you can use `fill_nulls_with` and `join_to_timespine` to [set null metric values to zero](/docs/build/fill-nulls-advanced), ensuring numeric values for every data row. @@ -50,6 +53,8 @@ These examples demonstrate how to create ratio metrics in your model. They cover #### Example 1 This example is a basic ratio metric that calculates the ratio of food orders to total orders: + + ```yaml metrics: - name: food_order_pct @@ -60,10 +65,13 @@ metrics: numerator: food_orders denominator: orders ``` + #### Example 2 This eample is a ratio metric that calculates the ratio of food orders to total orders, with a filter and alias applied to the numerator: + + ```yaml metrics: - name: food_order_pct @@ -80,7 +88,7 @@ metrics: filter: location = 'New York' alias: ny_orders ``` - + ## Ratio metrics using different semantic models From aaee3ac1d734e47cf98cd762fb5a1810f14c50b3 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:03:20 +0100 Subject: [PATCH 03/10] Update ratio-metrics.md --- website/docs/docs/build/ratio-metrics.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index da070ee7123..a8cb381f0a5 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -143,6 +143,8 @@ on Users can define constraints on input metrics for a ratio metric by applying a filter directly to the input metric, like so: + + ```yaml metrics: - name: frequent_purchaser_ratio @@ -157,6 +159,7 @@ metrics: denominator: name: distinct_purchasers ``` + Note the `filter` and `alias` parameters for the metric referenced in the numerator. - Use the `filter` parameter to apply a filter to the metric it's attached to. From 7dc49a4075d58df9923a7734e965fe3e55ef25ac Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 7 Oct 2024 10:41:06 +0100 Subject: [PATCH 04/10] clarify confusion --- .../docs/docs/build/metricflow-time-spine.md | 68 ++++++++----------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index 2965b623f13..bb2801c1c08 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -21,41 +21,47 @@ To see the generated SQL for the metric and dimension types that use time spine ## Configuring time spine in YAML -- The [`models` key](/reference/model-properties) for the time spine must be in your `models/` directory. -- Each time spine is a normal dbt model with extra configurations that tell dbt and MetricFlow how to use specific columns by defining their properties. -- You likely already have a calendar table in your project which you can use. If you don't, review the [example time-spine tables](#example-time-spine-tables) for sample code. -- You add the configurations under the `time_spine` key for that [model's properties](/reference/model-properties), just as you would add a description or tests. + Time spine models are normal dbt models with extra configurations that tell dbt and MetricFlow how to use specific columns by defining their properties. Add the [`models` key](/reference/model-properties) for the time spine in your `models/` directory. If your project already includes a calendar table or date dimension, you can configure that table as a time spine. Otherwise, review the [example time-spine tables](#example-time-spine-tables) to create one. + + Some things to note when configuring time spine models: + +- Add the configurations under the `time_spine` key for that [model's properties](/reference/model-properties), just as you would add a description or tests. - You only need to configure time-spine models that the Semantic Layer should recognize. - At a minimum, define a time-spine table for a daily grain. - You can optionally define additional time-spine tables for different granularities, like hourly. Review the [granularity considerations](#granularity-considerations) when deciding which tables to create. - If you're looking to specify the grain of a time dimension so that MetricFlow can transform the underlying column to the required granularity, refer to the [Time granularity documentation](/docs/build/dimensions?dimension=time_gran) -For example, given the following directory structure, you can create two time spine configurations, `time_spine_hourly` and `time_spine_daily`. MetricFlow supports granularities ranging from milliseconds to years. Refer to the [Dimensions page](/docs/build/dimensions?dimension=time_gran#time) (time_granularity tab) to find the full list of supported granularities. - :::tip -Previously, you had to create a model called `metricflow_time_spine` in your dbt project. Now, if your project already includes a date dimension or time spine table, you can simply configure MetricFlow to use that table by updating the `model` setting in the Semantic Layer. - -If you don’t have a date dimension table, you can still create one by using the following code snippet to build your time spine model. +If you previously used a model called `metricflow_time_spine`, you no longer need to create this specific model. You can now configure MetricFlow to use any date dimension or time spine table already in your project by updating the `model` setting in the Semantic Layer. +If you don’t have a date dimension table, you can still create one by using the code snippet in the [next section](#creating-a-time-spine-table) to build your time spine model. ::: - +### Creating a time spine table + +MetricFlow supports granularities ranging from milliseconds to years. Refer to the [Dimensions page](/docs/build/dimensions?dimension=time_gran#time) (time_granularity tab) to find the full list of supported granularities. + +To create a time spine table from scratch, you can do so by adding the following code to your dbt project. +This example creates a time spine at an hourly grain and a daily grain: `time_spine_hourly` and `time_spine_daily`. ```yaml -[models:](/reference/model-properties) - - name: time_spine_hourly - description: "my favorite time spine" +[models:](/reference/model-properties) +# Hourly time spine + - name: time_spine_hourly + description: my favorite time spine time_spine: - standard_granularity_column: date_hour # column for the standard grain of your table, must be date time type." + standard_granularity_column: date_hour # column for the standard grain of your table, must be date time type. custom_granularities: - name: fiscal_year column_name: fiscal_year_column columns: - name: date_hour granularity: hour # set granularity at column-level for standard_granularity_column + +# Daily time spine - name: time_spine_daily time_spine: standard_granularity_column: date_day # column for the standard grain of your table @@ -66,6 +72,8 @@ If you don’t have a date dimension table, you can still create one by using th + + @@ -91,30 +99,14 @@ models: -For an example project, refer to our [Jaffle shop](https://github.com/dbt-labs/jaffle-sl-template/blob/main/models/marts/_models.yml) example. - - - -- The previous configuration demonstrates a time spine model called `time_spine_daily`. It sets the time spine configurations under the `time_spine` key. -- The `standard_granularity_column` is the column that maps to one of our [standard granularities](/docs/build/dimensions?dimension=time_gran). The grain of this column must be finer or equal in size to the granularity of all custom granularity columns in the same model. In this case, it's hourly. -- It needs to reference a column defined under the `columns` key, in this case, `date_hour`. +- This example configuration shows a time spine model called `time_spine_hourly` and `time_spine_daily`. It sets the time spine configurations under the `time_spine` key. +- The `standard_granularity_column` is the column that maps to one of our [standard granularities](/docs/build/dimensions?dimension=time_gran). This column must be set under the `columns` key and should have a grain that is finer or equal to any custom granularity columns defined in the same model. In this case, `hour` and `day`. +- It needs to reference a column defined under the `columns` key, in this case, `date_hour` and `date_day`, respectively. - MetricFlow will use the `standard_granularity_column` as the join key when joining the time spine table to other source table. -- Here, the granularity of the `standard_granularity_column` is set at the column level, in this case, `hour`. - -Additionally, [the `custom_granularities` field](#custom-calendar), (available in dbt v1.9 and higher) lets you specify non-standard time periods like `fiscal_year` or `retail_month` that your organization may use. - +[The `custom_granularities` field](#custom-calendar), (available in Versionless and dbt v1.9 and higher) lets you specify non-standard time periods like `fiscal_year` or `retail_month` that your organization may use. - - -If you need to create a time spine table from scratch, you can do so by adding the following code to your dbt project. -The example creates a time spine at a daily grain and an hourly grain. A few things to note when creating time spine models: -* MetricFlow will use the time spine with the largest compatible granularity for a given query to ensure the most efficient query possible. For example, if you have a time spine at a monthly grain, and query a dimension at a monthly grain, MetricFlow will use the monthly time spine. If you only have a daily time spine, MetricFlow will use the daily time spine and date_trunc to month. -* You can add a time spine for each granularity you intend to use if query efficiency is more important to you than configuration time, or storage constraints. For most engines, the query performance difference should be minimal and transforming your time spine to a coarser grain at query time shouldn't add significant overhead to your queries. -* We recommend having a time spine at the finest grain used in any of your dimensions to avoid unexpected errors. i.e., if you have dimensions at an hourly grain, you should have a time spine at an hourly grain. - - -Now, break down the configuration above. It's pointing to a model called `time_spine_daily`, and all the configuration is colocated with the rest of the [model's properties](/reference/model-properties). It sets the time spine configurations under the `time_spine` key. The `standard_granularity_column` is the lowest grain of the table, in this case, it's hourly. It needs to reference a column defined under the columns key, in this case, `date_hour`. Use the `standard_granularity_column` as the join key for the time spine table when joining tables in MetricFlow. Here, the granularity of the `standard_granularity_column` is set at the column level, in this case, `hour`. +For an example project, refer to our [Jaffle shop](https://github.com/dbt-labs/jaffle-sl-template/blob/main/models/marts/_models.yml) example. ### Considerations when choosing which granularities to create{#granularity-considerations} @@ -302,9 +294,9 @@ and date_hour < dateadd(day, 30, current_timestamp()) -Being able to configure custom calendars, such as a fiscal calendar, is available in [dbt Cloud Versionless](/docs/dbt-versions/upgrade-dbt-version-in-cloud#versionless) or dbt Core [v1.9 and above](/docs/dbt-versions/core). +The ability to configure custom calendars, such as a fiscal calendar, is available in [dbt Cloud Versionless](/docs/dbt-versions/upgrade-dbt-version-in-cloud#versionless) or dbt Core [v1.9 and higher](/docs/dbt-versions/core). -To access this feature, [upgrade to Versionless](/docs/dbt-versions/versionless-cloud) or dbt Core v1.9 and above. +To access this feature, [upgrade to Versionless](/docs/dbt-versions/versionless-cloud) or your dbt Core version to v1.9 or higher. @@ -337,6 +329,6 @@ models: #### Coming soon -Note that features like calculating offsets and period-over-period will be supported soon. +Note that features like calculating offsets and period-over-period will be supported soon! From 5a61efb5048ea1fc33ed2589981363537e7b29da Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Mon, 7 Oct 2024 10:50:57 +0100 Subject: [PATCH 05/10] clarify --- website/docs/docs/build/metricflow-time-spine.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index bb2801c1c08..ff40fcd907e 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -100,8 +100,9 @@ models: - This example configuration shows a time spine model called `time_spine_hourly` and `time_spine_daily`. It sets the time spine configurations under the `time_spine` key. -- The `standard_granularity_column` is the column that maps to one of our [standard granularities](/docs/build/dimensions?dimension=time_gran). This column must be set under the `columns` key and should have a grain that is finer or equal to any custom granularity columns defined in the same model. In this case, `hour` and `day`. -- It needs to reference a column defined under the `columns` key, in this case, `date_hour` and `date_day`, respectively. +- The `standard_granularity_column` is the column that maps to one of our [standard granularities](/docs/build/dimensions?dimension=time_gran). This column must be set under the `columns` key and should have a grain that is finer or equal to any custom granularity columns defined in the same model. + - It needs to reference a column defined under the `columns` key, in this case, date_hour and date_day, respectively. + - It sets the granularity at the column-level using the `granularity` key, in this case, `hour` and `day`, respectively. - MetricFlow will use the `standard_granularity_column` as the join key when joining the time spine table to other source table. [The `custom_granularities` field](#custom-calendar), (available in Versionless and dbt v1.9 and higher) lets you specify non-standard time periods like `fiscal_year` or `retail_month` that your organization may use. From b4fc79636a537cdc3e271d12d3efaf706ab0603b Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Mon, 7 Oct 2024 19:06:21 +0100 Subject: [PATCH 06/10] Update ratio-metrics.md --- website/docs/docs/build/ratio-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index a8cb381f0a5..fdaeb878450 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -68,7 +68,7 @@ metrics: #### Example 2 -This eample is a ratio metric that calculates the ratio of food orders to total orders, with a filter and alias applied to the numerator: +This example is a ratio metric that calculates the ratio of food orders to total orders, with a filter and alias applied to the numerator. Note that in order to add these attributes, you'll need to use an explicit key for the name attribute too. From ebad39f2b9269afd0f5e0493384e313ea1712d1b Mon Sep 17 00:00:00 2001 From: Matt Shaver <60105315+matthewshaver@users.noreply.github.com> Date: Mon, 7 Oct 2024 15:03:30 -0400 Subject: [PATCH 07/10] Iceberg blog (#6256) ## What are you changing in this pull request and why? Amy's Iceberg blog This was reviewed internally, and this PR is a move https://github.com/dbt-labs/docs-internal/pull/751 ## Checklist - [ ] 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." --- ...-04-iceberg-is-an-implementation-detail.md | 82 ++++++++++++++++++ website/blog/authors.yml | 2 +- .../2024-10-03-iceberg-support.png | Bin 0 -> 120012 bytes .../iceberg_materialization.png | Bin 0 -> 42695 bytes 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 website/blog/2024-10-04-iceberg-is-an-implementation-detail.md create mode 100644 website/static/img/blog/2024-10-04-iceberg-blog/2024-10-03-iceberg-support.png create mode 100644 website/static/img/blog/2024-10-04-iceberg-blog/iceberg_materialization.png diff --git a/website/blog/2024-10-04-iceberg-is-an-implementation-detail.md b/website/blog/2024-10-04-iceberg-is-an-implementation-detail.md new file mode 100644 index 00000000000..eca0a411dad --- /dev/null +++ b/website/blog/2024-10-04-iceberg-is-an-implementation-detail.md @@ -0,0 +1,82 @@ +--- +title: "Iceberg Is An Implementation Detail" +description: "This blog will talk about iceberg table support and why it both matters and doesn't" +slug: icebeg-is-an-implementation-detail + +authors: [amy_chen] + +tags: [table formats, iceberg] +hide_table_of_contents: false + +date: 2024-10-04 +is_featured: false +--- + +If you haven’t paid attention to the data industry news cycle, you might have missed the recent excitement centered around an open table format called Apache Iceberg™. It’s one of many open table formats like Delta Lake, Hudi, and Hive. These formats are changing the way data is stored and metadata accessed. They are groundbreaking in many ways. + +But I have to be honest: **I don’t care**. But not for the reasons you think. + +## What is Iceberg? + +To have this conversation, we need to start with the same foundational understanding of Iceberg. Apache Iceberg is a high-performance open table format developed for modern data lakes. It was designed for large-scale datasets, and within the project, there are many ways to interact with it. When people talk about Iceberg, it often means multiple components including but not limited to: + +1. Iceberg Table Format - an open-source table format with large-scale data. Tables materialized in iceberg table format are stored on a user’s infrastructure, such as S3 Bucket. +2. Iceberg Data Catalog - an open-source metadata management system that tracks the schema, partition, and versions of Iceberg tables. +3. Iceberg REST Protocol (also called Iceberg REST API) is how engines can support and speak to other Iceberg-compatible catalogs. + +If you have been in the industry, you also know that everything I just wrote above about Iceberg could easily be replaced by `Hive,` `Hudi,` or `Delta.` This is because they were all designed to solve essentially the same problem. Ryan Blue (creator of Iceberg) and Michael Armbrust (creator of Delta Lake) recently sat down for this [fantastic chat](https://vimeo.com/1012543474) and said two points that resonated with me: + +- “We never intended for people to pay attention to this area. It’s something we wanted to fix, but people should be able to not pay attention and just work with their data. Storage systems should just work.” +- “We solve the same challenges with different approaches.” + +At the same time, the industry is converging on Apache Iceberg. [Iceberg has the highest availability of read and write support](https://medium.com/sundeck/2024-lakehouse-format-rundown-7edd75015428). + + + + +Snowflake launched Iceberg support in 2022. Databricks launched Iceberg support via Uniform last year. Microsoft announced Fabric support for Iceberg in September 2024 at Fabric Con. **Customers are demanding interoperability, and vendors are listening**. + +Why does this matter? Standardization of the industry benefits customers. When the industry standardizes - customers have the gift of flexibility. Everyone has a preferred way of working, and with standardization — they can always bring their preferred tools to their organization’s data. + +## Just another implementation detail + +I’m not saying open table formats aren't important. The metadata management and performance make them very meaningful and should be paid attention to. Our users are already excited to use it to create data lakes to save on storage costs, create more abstraction from their computing, etc. + +But when building data models or focusing on delivering business value through analytics, my primary concern is not *how* the data is stored—it's *how* I can leverage it to generate insights and drive decisions. The analytics development lifecycle is hard enough without having to take into every detail. dbt abstracts the underlying platform and lets me focus on writing SQL and orchestrating my transformations. It’s a feature that I don’t need to think about how tables are stored or optimized—I just need to know that when I reference dim_customers or fct_sales, the correct data is there and ready to use. **It should just work.** + +## Sometimes the details do matter + +While table formats are an implementation detail for data transformation — Iceberg can impact dbt developers when the implementation details aren’t seamless. Currently, using Iceberg requires a significant amount of upfront configuration and integration work beyond just creating tables to get started. + +One of the biggest hurdles is managing Iceberg’s metadata layer. This metadata often needs to be synced with external catalogs, which requires careful setup and ongoing maintenance to prevent inconsistencies. Permissions and access controls add another layer of complexity—because multiple engines can access Iceberg tables, you have to ensure that all systems have the correct access to both the data files and the metadata catalog. Currently, setting up integrations between these engines is also far from seamless; while some engines natively support Iceberg, others require brittle workarounds to ensure the metadata is synced correctly. This fragmented landscape means you could land with a web of interconnected components. + +## Fixing it + +**Today, we announced official support for the Iceberg table format in dbt.** By supporting the Iceberg table format, it’s one less thing you have to worry about on your journey to adopting Iceberg. + +With support for Iceberg Table Format, it is now easier to convert your dbt models using proprietary table formats to Iceberg by updating your configuration. After you have set up your external storage for Iceberg and connected it to your platforms, you will be able to jump into your dbt model and update the configuration to look something like this: + + + +It is available on these adapters: + +- Athena +- Databricks +- Snowflake +- Spark +- Starburst/Trino +- Dremio + +As with the beauty of any open-source project, Iceberg support grew organically, so the implementations vary. However, this will change in the coming months as we converge onto one dbt standard. This way, no matter which adapter you jump into, the configuration will always be the same. + +## dbt the Abstraction Layer + +dbt is more than about abstracting away the DDL to create and manage objects. It’s also about ensuring an opinionated approach to managing and optimizing your data. That remains true for our strategy around Iceberg Support. + +In our dbt-snowflake implementation, we have already started to [enforce best practices centered around how to manage the base location](https://docs.getdbt.com/reference/resource-configs/snowflake-configs#base-location) to ensure you don’t create technical debt accidentally, ensuring your Iceberg implementation scales over time. And we aren’t done yet. + +That said, while we can create the models, there is a *lot* of initial work to get to that stage. dbt developers must still consider the implementation, like how their external volume has been set up or where dbt can access the metadata. We have to make this better. + +Given the friction of getting launched on Iceberg, over the coming months, we will enable more capabilities to empower users to adopt Iceberg. It should be easier to read from foreign Iceberg catalogs. It should be easier to mount your volume. It should be easier to manage refreshes. And you should also trust that permissions and governance are consistently enforced. + +And this work doesn’t stop at Iceberg. The framework we are building is also compatible with other table formats, ensuring that whatever table format works for you is supported on dbt. This way — dbt users can also stop caring about table formats. **It’s just another implementation detail.** diff --git a/website/blog/authors.yml b/website/blog/authors.yml index 85f05a545f9..8513a117284 100644 --- a/website/blog/authors.yml +++ b/website/blog/authors.yml @@ -1,7 +1,7 @@ --- amy_chen: image_url: /img/blog/authors/achen.png - job_title: Product Ecosystem Manager + job_title: Product Manager links: - icon: fa-linkedin url: https://www.linkedin.com/in/yuanamychen/ diff --git a/website/static/img/blog/2024-10-04-iceberg-blog/2024-10-03-iceberg-support.png b/website/static/img/blog/2024-10-04-iceberg-blog/2024-10-03-iceberg-support.png new file mode 100644 index 0000000000000000000000000000000000000000..2b99378fa842c8ddfb1e376d1c8848058d0fe42b GIT binary patch literal 120012 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
1pQR<07!ez8C^`I!B5Bu{L0 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 --------- Co-authored-by: Ly Nguyen <107218380+nghi-ly@users.noreply.github.com> --- .../docs/cloud/connect-data-platform/about-connections.md | 1 + website/snippets/_adapters-trusted.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/website/docs/docs/cloud/connect-data-platform/about-connections.md b/website/docs/docs/cloud/connect-data-platform/about-connections.md index 8bec408af2e..6f2f140b724 100644 --- a/website/docs/docs/cloud/connect-data-platform/about-connections.md +++ b/website/docs/docs/cloud/connect-data-platform/about-connections.md @@ -18,6 +18,7 @@ dbt Cloud can connect with a variety of data platform providers including: - [PostgreSQL](/docs/cloud/connect-data-platform/connect-redshift-postgresql-alloydb) - [Snowflake](/docs/cloud/connect-data-platform/connect-snowflake) - [Starburst or Trino](/docs/cloud/connect-data-platform/connect-starburst-trino) +- [Teradata](/docs/cloud/connect-data-platform/connect-teradata) You can connect to your database in dbt Cloud by clicking the gear in the top right and selecting **Account Settings**. From the Account Settings page, click **+ New Project**. diff --git a/website/snippets/_adapters-trusted.md b/website/snippets/_adapters-trusted.md index 3594f050897..a09b6712c23 100644 --- a/website/snippets/_adapters-trusted.md +++ b/website/snippets/_adapters-trusted.md @@ -94,8 +94,8 @@ From 85122cb8dcc6b5646df07eba0f5a17c83db572c7 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 8 Oct 2024 09:21:41 +0100 Subject: [PATCH 09/10] Update website/docs/docs/build/metricflow-time-spine.md Co-authored-by: Pat Kearns --- website/docs/docs/build/metricflow-time-spine.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index ff40fcd907e..74b613d3381 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -101,7 +101,7 @@ models: - This example configuration shows a time spine model called `time_spine_hourly` and `time_spine_daily`. It sets the time spine configurations under the `time_spine` key. - The `standard_granularity_column` is the column that maps to one of our [standard granularities](/docs/build/dimensions?dimension=time_gran). This column must be set under the `columns` key and should have a grain that is finer or equal to any custom granularity columns defined in the same model. - - It needs to reference a column defined under the `columns` key, in this case, date_hour and date_day, respectively. + - It needs to reference a column defined under the `columns` key, in this case, `date_hour` and `date_day`, respectively. - It sets the granularity at the column-level using the `granularity` key, in this case, `hour` and `day`, respectively. - MetricFlow will use the `standard_granularity_column` as the join key when joining the time spine table to other source table. From edd4aca5bba9928cce75449cec89349e9094b545 Mon Sep 17 00:00:00 2001 From: Mirna Wong <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 8 Oct 2024 09:23:27 +0100 Subject: [PATCH 10/10] Update metricflow-time-spine.md --- website/docs/docs/build/metricflow-time-spine.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/build/metricflow-time-spine.md b/website/docs/docs/build/metricflow-time-spine.md index 74b613d3381..e4a93aa217e 100644 --- a/website/docs/docs/build/metricflow-time-spine.md +++ b/website/docs/docs/build/metricflow-time-spine.md @@ -103,9 +103,8 @@ models: - The `standard_granularity_column` is the column that maps to one of our [standard granularities](/docs/build/dimensions?dimension=time_gran). This column must be set under the `columns` key and should have a grain that is finer or equal to any custom granularity columns defined in the same model. - It needs to reference a column defined under the `columns` key, in this case, `date_hour` and `date_day`, respectively. - It sets the granularity at the column-level using the `granularity` key, in this case, `hour` and `day`, respectively. -- MetricFlow will use the `standard_granularity_column` as the join key when joining the time spine table to other source table. - -[The `custom_granularities` field](#custom-calendar), (available in Versionless and dbt v1.9 and higher) lets you specify non-standard time periods like `fiscal_year` or `retail_month` that your organization may use. +- MetricFlow will use the `standard_granularity_column` as the join key when joining the time spine table to another source table. +- [The `custom_granularities` field](#custom-calendar), (available in Versionless and dbt v1.9 and higher) lets you specify non-standard time periods like `fiscal_year` or `retail_month` that your organization may use. For an example project, refer to our [Jaffle shop](https://github.com/dbt-labs/jaffle-sl-template/blob/main/models/marts/_models.yml) example.