-
Notifications
You must be signed in to change notification settings - Fork 3k
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
fix(ingest): refactor + fix recursion in lookml file loading logic #2913
fix(ingest): refactor + fix recursion in lookml file loading logic #2913
Conversation
@grantatspothero and @frsann - given that this is a pretty large refactoring, it would be great if you could take a look at change changes or try it out and verify that it works as intended. |
This LGTM, also adding @remisalmon and @zack3241 to take a look. |
hey @hsheth2 , I recently joined @grantatspothero 's team and have been looking at LookML ingestion for DataHub. I can take a look at these changes and test this branch today against our Looker instance and let you know if I see any issues 😀 |
I'm on vacation the next three weeks, so please dont wait on my input on this. |
@hsheth2 I see you're still pushing commits...will you |
@jameslamb sorry about thrashing this branch - it should be good to test now! |
@jameslamb : this looks good on our end. Let us know when you get a chance to test on yours. |
Thanks! Ok, I tested this on SpotHero's Looker instance today, and ran into an issue. how i tested thisRan pip uninstall acryl-datahub && \
pip install 'git+https://github.com/hsheth2/datahub.git@lookml-view-resolution#egg=acryl_datahub[datahub-kafka,lookml]&subdirectory=metadata-ingestion' Ran the following datahub ingest -c "/recipes/lookml-recipe.yaml" where the recipe looks like this: source:
type: lookml
config:
base_folder: /model-files
connection_to_platform_map:
redshift_test: redshift
platform_name: looker
env: "PROD"
parse_table_names_from_sql: False
sink:
type: "datahub-kafka"
config:
connection:
bootstrap: "${KAFKA_BOOTSTRAP_SERVER}"
producer_config:
security.protocol: SSL
ssl.ca.location: /etc/service/keys/ca
ssl.certificate.location: /etc/service/keys/cert
ssl.key.location: /etc/service/keys/key
schema_registry_url: "${KAFKA_SCHEMA_REGISTRY_URL}"
schema_registry_config:
basic.auth.user.info: "${KAFKA_SCHEMA_REGISTRY_USER}:${KAFKA_SCHEMA_REGISTRY_PW}" Ingestion was stoped by an error like the one below (I added the
Using
I think it's desirable for a failure of this check to continue to trigger a warning, not a fatal error that stops metadata ingestion. Otherwise, I think it's possible for one "poison pill" |
@jameslamb I've updated the PR to handle those as warnings rather than crashing |
perfect, thanks! I'll test again right now. |
@hsheth2 just tested this patch on our lookml repo and it misses a lot of files during ingestion (about ~2/3 of the lookml views are missing vs what gets ingested with Those missing views are all defined at the root level of the repo. |
Re-tested after the last commits and all is working as expected for me. |
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.
LGTM
Also improves the error messages and logging throughout the source, and add an additional test.
Checklist