Skip to content
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

Support for showing lineage of table across ETL's in a data warehouse #69

Closed
apoorva007 opened this issue Jun 17, 2019 · 5 comments
Closed
Labels
status:completed Issue is completed and on master type:feature A new feature request

Comments

@apoorva007
Copy link

Hey,
Wanted to understand if there is a way to push table lineage related metadata to amundsen.
Couldn't find any related documentation. If someone can point towards it, that would be really helpful

@feng-tao
Copy link
Member

feng-tao commented Jun 17, 2019

@apoorva007 we haven't build the support in databuilder for neo4j as metadata backend. But I know @verdan 's team has built support for pushing lineage info into atlas which is another proxy offering for metadata.

cc @verdan for further comment.

@verdan
Copy link
Member

verdan commented Jun 18, 2019

@apoorva007 you can use Amundsen with either Neo4j or Apache Atlas as the backend. We use Apache Atlas (and are constantly working on improving and adding new features in Amundsen) as our metadata proxy. Atlas supports the lineage out of the box, which is a one of a huge advantage of using Atlas as metadata proxy. It connects with many elements like spark, hive etc. using hooks and bridges, and thus records the whole lineage out of the box.
We have not yet started implementing lineage in Amundsen (via Atlas proxy), but please let us know what do you think of the this, your requirements, and if we can collaborate more on that part.

@jornh
Copy link
Contributor

jornh commented Jun 20, 2019

First option - link to Atlas or other 3rd party

As @verdan points to Atlas already has strong lineage modelling and UI - a shortcut to navigating to that from Amundsen might simply be to populate the TABLE LINEAGE sidebar link with URL data pointing to the right lineage page as shown here (this is what I understand Lyft is already doing with the 3rd party lineage tool they have deployed)

2nd option - "the younger brother" populate Neo4j

Another option which we could name "Atlas lineage's younger brother" would appear if you take a closer look at Amundsen's current Neo4j backend's data model. You'll notice the ingredients to model and store lineage are already in the diagram. It's the DAG - write_to -> Table and Table - replicated_from -> Table "links":

In fact you could claim that the - DAG - writes_to -> Table part is already visualized by the GENERATED BY section in the top screenshot in this comment. See further on near-term plans in https://github.com/lyft/amundsenfrontendlibrary/issues/202#issuecomment-504213401 [broken and outdated link]


Related issue in the frontend repo discussing "more ambitious" Amundsen lineage visualization: https://github.com/lyft/amundsenfrontendlibrary/issues/110

@ttannis ttannis transferred this issue from amundsen-io/amundsendatabuilder Aug 7, 2019
@stale
Copy link

stale bot commented Aug 16, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale label Aug 16, 2019
@feng-tao feng-tao removed the stale label Aug 16, 2019
@dschaller dschaller added the keep fresh Disables stalebot from closing an issue label Aug 17, 2019
@jornh
Copy link
Contributor

jornh commented Aug 21, 2019

2nd option above has moved a bit forward with merge of amundsen-io/amundsendatabuilder#126 as far as I can see this means with Neo4j #69 (comment) is essentially implemented so you can build a Databuilder job which will build lineage in Amundsen Metadata service.

Submitting a PR to ingest some sample data modeled after previous sample ingestion PRs seems like a good good first issue if you have Python skills and want to get your hands dirty and move this feature forward sooner rather than later!

If you have React skills https://github.com/lyft/amundsenfrontendlibrary/issues/110 might be what you want to look at

Roadmap link

https://github.com/lyft/amundsen/blob/master/docs/roadmap.md#native-lineage-integration

jakemongaya pushed a commit to jakemongaya/amundsen that referenced this issue Dec 11, 2019
* [AMD-120] Add relation pre-processor in Neo4jPublisher

* Update

* Added DeleteRelationPreprocessor

* Added DeleteRelationPreprocessor

* Update

* Update
@Golodhros Golodhros added status:needs_triage For all issues that need to be processed type:feature A new feature request labels May 29, 2020
benrifkind pushed a commit to benrifkind/amundsen that referenced this issue Dec 16, 2020
)

* Fixes the names and tags issue for atlas

* Moved the helper functions to atlasclient module

* Updates the atlasclient package to pyatlasclient
dorianj pushed a commit to dorianj/amundsen that referenced this issue Apr 25, 2021
Signed-off-by: feng-tao <fengtao04@gmail.com>
dorianj pushed a commit to dorianj/amundsen that referenced this issue Apr 25, 2021
Signed-off-by: feng-tao <fengtao04@gmail.com>
dorianj pushed a commit to dorianj/amundsen that referenced this issue Apr 25, 2021
Signed-off-by: feng-tao <fengtao04@gmail.com>
dorianj pushed a commit to dorianj/amundsen that referenced this issue Apr 25, 2021
* [AMD-120] Add relation pre-processor in Neo4jPublisher

* Update

* Added DeleteRelationPreprocessor

* Added DeleteRelationPreprocessor

* Update

* Update
dorianj pushed a commit to dorianj/amundsen that referenced this issue Apr 25, 2021
)

* Fixes the names and tags issue for atlas

* Moved the helper functions to atlasclient module

* Updates the atlasclient package to pyatlasclient
dorianj pushed a commit to dorianj/amundsen that referenced this issue Apr 25, 2021
feng-tao pushed a commit that referenced this issue May 7, 2021
* [AMD-120] Add relation pre-processor in Neo4jPublisher

* Update

* Added DeleteRelationPreprocessor

* Added DeleteRelationPreprocessor

* Update

* Update
feng-tao pushed a commit that referenced this issue May 7, 2021
* Fixes the names and tags issue for atlas

* Moved the helper functions to atlasclient module

* Updates the atlasclient package to pyatlasclient
feng-tao added a commit that referenced this issue May 7, 2021
Signed-off-by: feng-tao <fengtao04@gmail.com>
m1racoli pushed a commit to m1racoli/amundsen that referenced this issue Mar 23, 2022
zacr pushed a commit to SaltIO/amundsen that referenced this issue May 13, 2022
)

* Fixes the names and tags issue for atlas

* Moved the helper functions to atlasclient module

* Updates the atlasclient package to pyatlasclient
zacr pushed a commit to SaltIO/amundsen that referenced this issue May 13, 2022
hansadriaans pushed a commit to DataChefHQ/amundsen that referenced this issue Jun 30, 2022
Signed-off-by: feng-tao <fengtao04@gmail.com>
hansadriaans pushed a commit to DataChefHQ/amundsen that referenced this issue Jun 30, 2022
* [AMD-120] Add relation pre-processor in Neo4jPublisher

* Update

* Added DeleteRelationPreprocessor

* Added DeleteRelationPreprocessor

* Update

* Update
hansadriaans pushed a commit to DataChefHQ/amundsen that referenced this issue Jun 30, 2022
)

* Fixes the names and tags issue for atlas

* Moved the helper functions to atlasclient module

* Updates the atlasclient package to pyatlasclient
hansadriaans pushed a commit to DataChefHQ/amundsen that referenced this issue Jun 30, 2022
@Golodhros Golodhros added status:completed Issue is completed and on master and removed keep fresh Disables stalebot from closing an issue status:needs_triage For all issues that need to be processed labels Dec 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:completed Issue is completed and on master type:feature A new feature request
Projects
None yet
Development

No branches or pull requests

7 participants