-
Couldn't load subscription status.
- Fork 3.2k
feat(lookml): Use Looker API to get fields of a View #15060
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
base: master
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
metadata-ingestion/src/datahub/ingestion/source/looker/lookml_source.py
Outdated
Show resolved
Hide resolved
metadata-ingestion/src/datahub/ingestion/source/looker/lookml_source.py
Outdated
Show resolved
Hide resolved
Are we adding a fallback strategy? or do we replace with new strategy? |
|
Looker/LookML ingestion is becoming a very complex code. Given the amount of detail we require for troubleshooting, I wonder if there is python tooling that we can use to trace execution and no require explicit logger debug lines. 🤔 Not a blocker, just thinking loudly. |
There is a fallback strategy in place if there are any issues with Looker APIs to get the fields, it falls back to view_context based solution (current). There should not be any backward incompatibility issues here with either of the strategy. Worst case scenarios is no CLL or partial CLL (same as today)
|
This is a great suggestion for |
37cb448 to
cf73ae4
Compare
…l and caching for explores - Updated `lookml_model_explore` method to accept an optional `fields` parameter for optimized API calls. - Introduced `get_explore_fields_from_looker_api` method to fetch fields directly from the Looker API, improving performance and reducing unnecessary API calls. - Implemented fallback mechanisms to retrieve fields from view context if API calls fail. - Added logging for better traceability of API interactions and field retrieval processes.
- Implemented a greedy algorithm to minimize API calls by grouping views with common explores, improving overall efficiency.
…ing various scenarios including edge cases and performance with large datasets.
…ew upstream processing - Updated logic to ensure only one field per dimension group is added, improving clarity and maintainability of the code. - Removed redundant checks and added comments for better understanding of the dimension group handling process.
8a0e082 to
41b3dd3
Compare
Use Looker APIs to get fields for a Views
Current Approach
lkmlparser to get View attributes, and this has limitation of when Views are very complexProposed Approach
Other changes
view_contextbased fields extraction with better error handling