Column-level lineage

Understand where
your data goes.

One graph for every tool.

1

Follow the data across your stack.

Alkera’s lineage engine merges dependencies from each connection. Each plugin traces columns from what its tool exposes, such as Fivetran’s column mappings, Databricks’ lineage tables, or the SQL behind a dbt model. Every edge shows where it came from.

Stagingtotal_amountdbtMartrevenuedbtDashboardrevenuehex
2

Assess changes before making them.

Before a change, the agent traces it through the column graph and labels it breaking, potentially breaking, or non-breaking. It lists the affected downstream assets and the tests worth rerunning.

total_amountNarrow typefct_ordersrevenueBreaking
3

Review a proposal with the context attached.

When a change would break something downstream, the agent stops and asks for approval in the chat, with the affected assets listed.

I checked the downstream dependencies. fct_orders.customer_id reads staging.customer_id, so removing it would break fct_orders.

Allow the agent to remove this column?

Dropping customer_id breaks fct_orders.

Bring Python pipelines into lineage.

When ingestion runs in your own code, the agent writes a plugin that reports its inputs and outputs to lineage, monitoring, and the knowledge base.

pythoningest.py
import pandas as pdfrom snowflake.connector.pandas_tools \ import write_pandas def ingest_daily_bars(source, connection): rows = pd.read_json(source) rows = rows.dropna( subset=["ticker", "session_date", "close"] ) rows["ticker"] = ( rows.ticker.str.upper() ) rows["adj_close"] = ( rows.close * rows.factor ) bars = rows[["ticker", "session_date", "adj_close", "volume"]] write_pandas( connection, bars, "DAILY_BARS", database="RAW", schema="MARKET", ) return { "table": "RAW.MARKET.DAILY_BARS", "rows": len(bars), "columns": list(bars.columns), } if __name__ == "__main__": ingest_daily_bars(source, connection)

I’ll trace the processing code and connect its output to Snowflake.

1 tool called
Index and read ingest.py

I found the source fields and transformations. I’ll create a Python plugin to trace and monitor this job.

2 tools called
Create Plugin
Write market_plugin.py
Plugin created
Market ingestionPython plugintickerstringadj_closefloatdaily_barsSnowflake · RAW.MARKETtickerstringadj_closefloat

See your data flow in context.

Read the documentation