Skip to content

generate lineage - #160

Open
joroscoSF wants to merge 5 commits into
mainfrom
jo_lineage_gen
Open

joroscoSF wants to merge 5 commits into
mainfrom
jo_lineage_gen

Conversation

@joroscoSF

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread src/datacustomcode/lineage/capture.py Outdated
for client in (*saved_clients, *_BaseClient._live_instances):
if client is not None:
session.wrap(client)
_BaseClient.__new__ = staticmethod(capturing_new) # type: ignore[assignment]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be possible to utilize reader_config/writer_config with force instead of hooking into __new__?

Comment thread src/datacustomcode/client.py Outdated
# Every client built in this process, including ones no longer the
# singleton that a module still holds a reference to (lineage capture must
# reach those too)
_live_instances: ClassVar[weakref.WeakSet[_BaseClient]] = weakref.WeakSet()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we have generate_lineage run in a subprocess? I think that'd avoid the need for this weakref set, the saved and restored singletons, the nested-capture guard, and the restore logic.


Only the columns that feed a column's *value* are sources. Filter predicates,
join conditions and sort keys gate or order rows and are deliberately ignored.
"""

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a lot of code- can we explore integrating with something like OpenLineage to take care of this part for us?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants