Pipelines
Generate the load procedures
Each table in a Pipeline gets its own load code: a stored procedure on SQL Server and Fabric Warehouse, or a PySpark function on Databricks and Fabric Lakehouse. You generate it from the destination schema, preview it, and regenerate it whenever the mappings change.
In the app: Data Model › Schemas › destination schema › Pipeline tab
Before you start¶
- Finalize the Pipeline so the destination tables exist. See Finalize a Pipeline.
- Give each table a load strategy and complete its configuration. Tables with strategy
Noneare skipped. See Choose a load strategy. - The destination must be SQL Server, Fabric Warehouse, Databricks, or Fabric Lakehouse. For PostgreSQL, MySQL, Snowflake, and Redshift, generation stops with
Procedure generation is not supported for dialect …. - Your organization must not be read-only. Preview still works in a read-only organization.
Generate all tables¶
- Open the destination schema and select the
Pipelinetab. - Click
Regenerate All. - A progress dialog,
Generating procedures(orfunctions), counts through the tables. - When it finishes it reports, for example,
12 generated, 1 skipped (no strategy). ClickClose.
Each row’s status column then shows Current.
Generate or preview one table¶
Each row ends with three buttons:
- Gear — opens the strategy configuration.
- Eye — opens
Preview — <table>, showing the code Kenseme would generate. Nothing is saved. - Refresh — generates this table only. You see, for example,
Procedure generated: [etl].[usp_Load_Customer] (184 lines).
In the preview dialog:
- The
Environmentsection lists the source and destination schemas. When they have environments configured, pick which one each should point at, or useMatch environmentto pick the same environment name for both. The code updates as you change it. Environments are set on each schema’sSettingstab; see Schema settings. Copy to Clipboardcopies the code.
Keep the code current¶
The status column (Proc, or Function on Databricks and Fabric Lakehouse) shows:
| Status | Meaning |
|---|---|
Not Generated |
No load code yet. |
Stale |
The mappings, strategy, or settings changed since the code was generated. |
Current |
The code matches the current mappings. |
A N stale badge in the header counts out-of-date tables. Kenseme does not regenerate for you. Click Regenerate All, or the row’s refresh button.
Build the master procedure¶
The master calls every table’s load in order, so you run one thing instead of many.
- Generate the table loads first. The master button stays disabled until at least one exists.
- Click
Generate Master Proc(on Databricks and Fabric Lakehouse,Generate Master Function). - You see
Master procedure generated: … orchestrates N procedure(s) (N lines).
Regenerate the master after you add or remove tables.
What gets generated¶
| Destination | Per-table load | Master |
|---|---|---|
| SQL Server, Fabric Warehouse | Stored procedure [etl].[usp_Load_<Table>] |
[etl].[usp_Load_LoadAll] |
| Databricks, Fabric Lakehouse | Script usp_Load_<Table> holding the PySpark function load_usp_Load_<Table> |
Python function usp_LoadAll |
The etl schema and usp_Load_ prefix are the defaults.
Some tables also get helper views:
vw_hash_<source table>for hash-based strategies that compute the row hash.vw_promo_<source table>for calculated columns produced through a view.
On Databricks and Fabric Lakehouse these views are created as materialized views and refreshed in order before the loads run. See PySpark notebooks.
Where the generated code lives¶
Everything is saved into the destination schema as ordinary objects:
- Stored procedures on the
Procedurestab. - PySpark functions on the
Scriptstab. - Helper views on the
Viewstab.
Generated objects are hidden by default. Tick Show Generated on the tab to see them. If every object on a tab is generated, the tab says so.