Repository navigation
Replies: 5 comments
|
@joellabes Thanks for the thorough writeup! I think there are two different issues at play here:
I think model "freshness" needs to be a concept synthesized out of two discrete things:
Put another way, the latency of
This feels conceptually similar to (if also the inverse of) the Some databases offer this metadata natively (e.g. Snowflake offers |
|
We would love to have this feature. We have a similar scenario to joellabes. What tjcohen is suggesting is much more work requiring integration of external monitoring with an orchestrator. Instead, a simple freshness definition would be a natural fit here. Fortunately, there is the dbt-utils.recency macro that saves us for now. |
|
I'd love to have this feature also in a data mesh scenario. |
|
Opened an issue with a proposed spec and some open questions here -> #12719 Would love to get feedback! |

Uh oh!
There was an error while loading. Please reload this page.
Describe the feature
We have a model which is built on top of ~50 source tables, each representing a single month of usage. Instead of adding each of those input tables as sources, we use the
dbt_utils.get_relations_by_patternanddbt_utils.union_relationsmacros.This means that the model springs out fully formed instead of having source lineage.

The best/only way to do freshness checks on a models is a
dbt_utils.recencytest, but that can be swallowed up in the background noise of daily errors and isn't treated as a freshness issue in metadata tiles. We just found that Fivetran hadn't been syncing the September table, a week in 😬. If it had been a freshness issue, we would have been all over it much earlier.We could define
utcs_base_unionedas a source and put freshness expectations on it, but it would lead to a funny looking DAG (to say nothing of the fact that each user has their own copy of that model, unlike sources which are a shared resource).Instead, I want to be able to do is define freshness rules for a model that behave in the same way as sources' freshness. I doubt they'd be used outside of dynamically generated models like this, but it's a use case that slips through the cracks right now.
Describe alternatives you've considered
As above
Additional context
I know you just rationalised the name of the task in #3554. It'd be confusing to have non-sources handled under the source command, but idk what to do instead.
Who will this benefit?
Data freshness passedmessage when their data is actually a week staleAre you interested in contributing this feature?
Maybe?
All reactions