-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Configurable, arbitrary key in schema.yml
to enhance documentation
#1362
Comments
Hey @maggiehays - thanks for the feature request! I'd need to think about this some more to understand what our options even are here, but happy to leave this open for reference. This isn't currently prioritized, and my recommendation would be to encode these dependencies in text as the descriptions of the columns until we figure out if this is possible / how it would work. This might become easier in our Wilt Chamberlain release when we support macros inside of I'll also say, lines like:
tend to "drift" from the source code, and it might be worth leveraging the "source SQL" functionality in dbt docs to understand the transformation logic in your models. Thanks again! |
I think this issue could be useful for slightly different use cases. |
We would use this to add the Slack handle for table owners |
Why not broad the idea to both schema.yml and sources.yml, but in a more granular level? Something like this:
sources.yml
|
Thanks @arkady-emelyanov! Do you think a
The same would apply to model columns & source tables/columns. I imagine we could include these I don't know that you'd be able to select models/sources using these fields -- does that sound acceptable given your use case? |
@drewbanin Yes, Our case is simple, build some automation (external scripts) around sources and schema definitions. We can easily parse definitions, but there are no way to provide some metadata/context to script about entity (model, model column, source, source table, etc..). And most important part: maintain those metadata fields as part of model/source development flow. Representation of those |
Is the scope of this issue to allow for a |
@tayloramurphy yep! that's exactly it :) As long as that |
I was able to pick this up at work - I should have a PR in tomorrow. I'm so excited! |
I have some reservations here about the key being named Does |
@clrcrl fair point. I could see people putting in actual column data as if it were a seed file! 👀
|
I prefer readability over succinctness! My vote is currently for |
@clrcrl that's a good thought - I can imagine adding other fields to the |
|
Yep, let's roll with |
closed by #2015 |
Feature: Configurable, arbitrary key in
schema.yml
to enhance documentationFeature description
Following up to this slack conversation with @drewbanin.
Request is to add additional functionality in column-level documentation, specifically to identify upstream dependencies and transformation logic.
The example I used follows:
We’re building out our warehouse on top of Ruby-application generated data, so we’re frequently coalescing across polymorphic objects to summarize a type of event. a fun (...?) challenge is dealing with inconsistent naming conventions across the objects and normalizing them in our ETL.
Here’s a made-up example:
We need to be able to communicate to end-users that the columns
item_name
anditem_color
are extracted from one of 3 objects, depending on the value ofitem_type
An additional use case of the column-level source/target lineage is communicating with our engineering partners which exact columns our tables depend on so they’re aware of downstream impact of altering/dropping those columns in the object upstream
I wonder if there’s any way to capture it in the sheama yaml? following on that made-up example earlier:
Drew suggested "some sort of
data:
key that can contain arbitrary configs, then some sort of macro that’s responsible for translating it into documentation".Who will this benefit?
Owners of dbt warehouse
docs
blocksdocs
)Consumers of dbt warehouse
Uptream of dbt warehouse; owners of production data
The text was updated successfully, but these errors were encountered: