-
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
feat(ingestion): adds platform instance capability to glue connector #4130
feat(ingestion): adds platform instance capability to glue connector #4130
Conversation
Just for the curious, the new test replicates the previous one with the simple addition of the
|
Looks great overall! Please address the minor comments if possible. |
@sgomezvillamor, this is good to go once the merge with master is pushed. |
…tform-instance # Conflicts: # metadata-ingestion/source_docs/glue.md # metadata-ingestion/src/datahub/ingestion/source/aws/glue.py
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!
@rslanka I have merged master and it should pass tests now. However, I noted that domains and containers were added and I have some doubts. If you have a look at the
In the first one it calls my attention In the second, it clearly states the aspect is |
Actually I have found some other examples were IMO instance is badly set as the env 🤔 https://github.com/sgomezvillamor/datahub/blob/master/metadata-ingestion/src/datahub/ingestion/source/sql/athena.py#L107-L109 |
…platform instance for the glue connector
Solving this
so it includes the platform instance, requires to change this https://github.com/sgomezvillamor/datahub/blob/585aad1aac09516c9e23ab96bf1a751c0c35cdb8/metadata-ingestion/src/datahub/emitter/mcp_builder.py#L99-L107 so |
…nd SchemaKey for athena and sql common
@rslanka Just noted your approval got dismissed with latest updates, so if you could review again |
@shirshanka If you could please have a look at this 🙏 |
…tform-instance # Conflicts: # metadata-ingestion/tests/integration/sql_server/mssql_mces_golden.json
entityType="container", | ||
changeType=ChangeTypeClass.UPSERT, | ||
entityUrn=f"{container_urn}", | ||
# entityKeyAspect=ContainerKeyClass(guid=schema_container_key.guid()), |
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.
delete?
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!
# entityKeyAspect=ContainerKeyClass(guid=schema_container_key.guid()), | ||
aspectName="dataPlatformInstance", | ||
aspect=DataPlatformInstance( | ||
platform=f"{make_dataplatform_instance_urn(container_key.platform, container_key.instance)}" |
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.
this should be changed to:
aspect=DataPlatformInstance(
platform=f"{make_data_platform_urn(...)}", # as before
instance=f"{make_data_platform_instance_urn(container_key..."
...
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.
one small change.. and another "wait until other PR is green-lighted"
metadata-ingestion/src/datahub/ingestion/source/sql/sql_common.py
Outdated
Show resolved
Hide resolved
Thanks @shirshanka ! Once PR #4279 is merged I will solve the conflicts and address your comment 👍 |
# Conflicts: # metadata-ingestion/setup.py # metadata-ingestion/src/datahub/emitter/mcp_builder.py # metadata-ingestion/src/datahub/ingestion/source/sql/athena.py # metadata-ingestion/src/datahub/ingestion/source/sql/sql_common.py # metadata-ingestion/tests/integration/clickhouse/clickhouse_mces_golden.json # metadata-ingestion/tests/unit/test_mcp_builder.py
@shirshanka As agreed: #4279 got merged and I updated the PR. So this is ready for review again. |
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
This is enabling platform instance capability to the glue connector.
Additionally,
underlying_platform
field has been deprecated in favour of the standardplatform
one.During the development of this task, it was noted that other connectors were badly setting the factory as the instance for the container key. This was fixed too and so the scope of the PR went a little bit beyond the glue connector.
Checklist