3 weeks ago
3 weeks ago
Hi @sukhendu2017 - Thanks for the followโup and for sharing the screenshot. This is a great question.
The key point is that the official retention guarantee is whatโs documented, not what an internal/UX control happens to allow:
So there isnโt really a contradiction:
If older lineage still exists in the backend, the UI may show it under โAll availableโ. But because this is beyond the documented retention window, Databricks can change that behaviour or compact old data without notice. I would not design any governance process that depends on >12 months being present in the UI.
You can always query whatever lineage data is currently stored in the official system tables:
SELECT *
FROM system.access.table_lineage
WHERE destination_table_full_name = '<catalog>.<schema>.<table>'
AND event_time >= '<start_timestamp>'
system.access.table_lineage today.... but that is not a longโterm guarantee.If you must have a reliable 18, 24, or 36โmonth lineage history, the recommended pattern is:
system.access.table_lineage (and related tables) as the supported source of lineage.Hope this clarifies your question.
If this answer resolves your question, could you mark it as โAccept as Solutionโ? That helps other users quickly find the correct fix.
3 weeks ago
Hereโs how things stand today...
1. Is /api/2.0/lineage-tracking/table-lineage officially supported?
No. The endpoint /api/2.0/lineage-tracking/table-lineage (including parameters like include_entity_lineage and start_timestamp) is an internal, undocumented API used by the Databricks UI. Since it does not appear in the official REST API reference, it is considered unsupported:
2. Can I get lineage for 6, 12, or 18 months?
Unity Catalog lineage data is retained for a finite period (documented as up to 365 days in the system tables lineage documentation). For longer horizons, you need to archive:
My recommendation would be... Instead of calling the internal /lineage-tracking/table-lineage endpoint, use:
For 18 month requirements, implement a scheduled job that reads from system.access.table_lineage and writes lineage data to your own longโterm storage before it expires.
Relevant docs as requested:
Hope this helps.
If this answer resolves your question, could you mark it as โAccept as Solutionโ? That helps other users quickly find the correct fix.
3 weeks ago
Thank you so much for response and solution in details.
I have one question in Unity Catalog lineage UI showing last 18 months also, but as per official documentation Lineage retains up to last 1 Year. Why this contradicts statement!
Also, I am trying to understand if one of the tables are having lineage from last 24 or 36 months, is it same will show in UI?
For reference, PFA.
If it is last 18 months, then same can I get table and column lineage through System table system.access.table_lineage (and related tables)?
3 weeks ago
Hi @sukhendu2017 - Thanks for the followโup and for sharing the screenshot. This is a great question.
The key point is that the official retention guarantee is whatโs documented, not what an internal/UX control happens to allow:
So there isnโt really a contradiction:
If older lineage still exists in the backend, the UI may show it under โAll availableโ. But because this is beyond the documented retention window, Databricks can change that behaviour or compact old data without notice. I would not design any governance process that depends on >12 months being present in the UI.
You can always query whatever lineage data is currently stored in the official system tables:
SELECT *
FROM system.access.table_lineage
WHERE destination_table_full_name = '<catalog>.<schema>.<table>'
AND event_time >= '<start_timestamp>'
system.access.table_lineage today.... but that is not a longโterm guarantee.If you must have a reliable 18, 24, or 36โmonth lineage history, the recommended pattern is:
system.access.table_lineage (and related tables) as the supported source of lineage.Hope this clarifies your question.
If this answer resolves your question, could you mark it as โAccept as Solutionโ? That helps other users quickly find the correct fix.