Area: Ingestion
Sub-Area: Lineage
Issue
After running ingestion, lineage relationships between tables, views, or datasets are not visible in the DataHub UI. This can occur due to missing lineage extraction configuration, insufficient permissions to query metadata tables, or incompatible source versions. Even more commonly, this can be due to a Urn case mismatch in upstreamLineage aspect.
You Might Be Asking:
- Why isn't lineage showing up after ingestion?
- How do I enable lineage extraction for my data source?
- Does DataHub support lineage for my specific data platform?
Solution
- Ensure lineage extraction is enabled in your recipe:
Example for Snowflake. This can be adapted for other data sources/connectors.
source:
type: snowflake
config:
include_table_lineage: true
include_view_lineage: true
include_column_lineage: true
# For query-based lineage
include_usage_stats: true
include_operational_stats: true
Verify the source connector supports lineage:
- Check the connector documentation for lineage capabilities
- Some connectors require additional permissions or configuration
For SQL-based lineage, ensure query history access:
Example for Snowflake. This can be adapted for other data sources/connectors.
-- Snowflake: Grant access to query history
GRANT IMPORTED PRIVILEGES ON DATABASE snowflake TO ROLE datahub_role;
- If using file-based lineage ingestion, verify the format:
{
"upstream": "urn:li:dataset:(urn:li:dataPlatform:hive,database.source_table,PROD)",
"downstream": "urn:li:dataset:(urn:li:dataPlatform:hive,database.target_table,PROD)",
"type": "TRANSFORMED"
}
- Check if lineage was actually ingested using the API:
curl -X POST 'http://localhost:8080/api/graphql' \
-H 'Content-Type: application/json' \
-d '{"query": "{ dataset(urn: \"YOUR_URN\") { upstreamLineage { entities { urn } } } }"}'
Additional Notes
Lineage extraction can significantly increase ingestion time and resource usage. For large deployments, consider running lineage ingestion separately or on a different schedule than metadata ingestion.
Related Documentation
Tags:
lineage, ingestion, table-lineage, column-lineage, query-lineage, metadata, relationships, upstream, downstream