Frequently asked questions about BigQuery routines and their relationships with Process assets for lineage generation
When working with BigQuery in Atlan, routines(Procedures, Functions) and Process assets work together to provide comprehensive lineage tracking. This page answers common questions about how these components interact and how you can use their relationships for better data governance and understanding.
Which BigQuery routine types does Atlan support?
Atlan crawls the following BigQuery routine types:
- Table-valued functions (TVFs) are cataloged as
Functionassets with afunctionTypeofTabular. TVFs appear as their own nodes in the lineage graph, with column-level lineage flowing through them. - User-defined functions (UDFs) are cataloged as
Functionassets with afunctionTypeofScalar. - Stored procedures are cataloged as
Procedureassets.
How are BigQuery routines related to Process assets in Atlan?
The relationship depends on the routine type:
- Table-valued functions (TVFs) appear as their own intermediate nodes in the lineage graph. The lineage path runs from a source table or view, through the TVF's
Functionnode, to the target table or view, with column-level lineage at each step. - Stored procedures and UDFs are linked to the Process nodes that use them. They don't appear as separate lineage-graph nodes. When a query calls a stored procedure or UDF, Atlan creates a Process asset for that query and links it to the routine asset.
How do routines appear in lineage graphs?
Table-valued functions (TVFs) appear as Function nodes in the lineage graph, so you can follow the full path from source to TVF to target. Column-level lineage is available through the TVF—Atlan derives output column names from the TVF's SQL definition. TVFs that call other TVFs also resolve correctly in one pass.
Stored procedures and UDFs are surfaced as related assets on the Process node between source and target. They don't appear as separate, intermediate nodes in the lineage graph. The lineage path remains source table or view → Process node → target table or view, and the routines that contributed to that Process are listed on the Process node's Relations tab.
How can I view routine relationships in Atlan?
For TVFs, navigate the lineage graph directly:
- Open the lineage graph for any asset connected to a TVF.
- Locate the TVF's
Functionnode in the graph. - Click the node to open the TVF asset and view column-level lineage through it.
For stored procedures and UDFs, you can view relationships in two ways:
-
From the routine asset
- Navigate to the routine asset in your BigQuery connection.
- Open the Related Assets tab.
- View the Process assets where the routine is used.
-
From the lineage graph
- Open the lineage graph for any asset.
- Locate and click the Process node that represents the executed query.
- In the sidebar, open the Relations tab.
- View the routines that contributed to that Process asset.
Are there any limitations to routine lineage?
The following limitations currently apply:
- Stored procedures and scalar UDFs don't appear as lineage-graph nodes. They remain visible as related assets on Process nodes.
- Dynamic SQL that calls routines at runtime, for example using
EXECUTE IMMEDIATE, isn't captured. - Currently, only direct routine calls are captured and visible. Dynamic queries with routines and nested routine calls aren't yet supported.
See also
- What does Atlan crawl from Google BigQuery: Asset types and metadata Atlan extracts from BigQuery
- Mine Google BigQuery: Run the miner to build lineage from query history, which is required for routine-to-Process linking
Need help
If you can't find the answer you're looking for, contact Atlan support by submitting a request.