-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
feat(looker): convert looker assets to external assets #22322
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @rexledesma and the rest of your teammates on Graphite |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do this manually rather than rely on external_assets_from_specs, since the definitions can be fit into one @multi_assets, rather than separate @multi_assets per spec.
Is there a meaningful difference between the two, since they can't be executed right now? I don't have a strong feeling either way, but would be nice to not duplicate logic w/ external_assets_from_specs
.
If we think it's desirable, maybe we should build another peer utility to external_assets_from_specs
which produces a single AssetsDefinition
since we may want this pattern elsewhere
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See above comment but looks good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
external_assets_from_spec
does more than just create a multi-asset with a non-working compute function. It also adds some metadata to indicate that the asset is neither materializable nor observable, which the UI respects in certain situations. I think we should add something like external_assets_from_specs
if we think it's important to create a single AssetsDefinition
with multiple specs.
That metadata is added in this PR. Is the concern that there should only be one function that sets this metadata in the first place (e.g.
I want to avoid the situation where we have something like:
which is pretty confusing. |
@smackesey @schrockn – do either of you have thoughts here? |
We should change |
I dug up a comment where I was one of the people pushing back: #16754 (comment). My thinking has definitely moved in a different direction since then. E.g. this discussion is basically advocating for the exact opposite: instead of expecting an |
Summary & Motivation
Convert the
AssetsDefinition
returned from@looker_assets
to external assets. We do this manually rather than rely onexternal_assets_from_specs
, since the definitions can be fit into one@multi_assets
, rather than separate@multi_assets
per spec.Also, this gives us some flexibility in the future if some computation wants to be bundled with these external assets to turn them executable.
How I Tested These Changes
pytest, local