Draft a PySpark notebook that builds silver tables (nothing created)
silver_notebook_draftDrafts a PySpark notebook writing de-duplicated silver Delta tables: one row per key, references checked, broken rows to krusgraph_quarantine. Requires workspace and a lakehouse source. Returns JSON with the steps and the notebook source. Changes nothing. Errors: {error, kind, hint}.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace": "<workspace>",
"source": "<source>"
},
"name": "silver_notebook_draft"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keys | No | Primary keys replacing the inferred ones. Default: inferred. Example: {"order_items": ["order_id", "line_no"]}. | |
| fixes | No | Ids from validate_plan(fixes=true). | |
| schema | No | Schema in the source. Default "dbo". | dbo |
| source | Yes | Lakehouse, warehouse or SQL database, name or id. | |
| tables | No | Exact table names to include. Default all. | |
| order_by | No | {table: column} deciding which duplicate row is kept (the latest wins). Default: a column named like updated_at. Example: {"orders": "modified_at"}. | |
| confirmed | No | Relationships the user confirmed, added to the plan. Default none. Example: [{"source": "orders", "source_cols": ["ship_to_id"], "target": "addresses", "target_cols": ["address_id"]}]. | |
| workspace | Yes | Fabric workspace, name or id. | |
| silver_schema | No | Lakehouse schema with the silver tables create_silver_notebook writes. Default "silver". | silver |
| show_personal_data | No | true includes columns named like personal data; false (default) masks or omits them. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |