[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-databricks-migration":3,"mdc--aipj7i-key":40,"related-org-microsoft-databricks-migration":3190,"related-repo-microsoft-databricks-migration":3386},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":29,"repoUrl":30,"updatedAt":31,"license":32,"forks":33,"topics":34,"repo":35,"sourceUrl":38,"mdContent":39},"databricks-migration","migrate Databricks notebooks to Microsoft Fabric","Port Databricks notebooks and jobs to Microsoft Fabric. Provides an exhaustive dbutils to notebookutils substitution table: fs operations (runtime mounts or OneLake Shortcuts), secret scope to Key Vault URL conversion, notebook run and exit, widget replacement with parameter-tagged cells, and library install replacement with Fabric Environments. Covers Unity Catalog three-level namespace reduction to Lakehouse two-level schemas, DBFS path conversion to OneLake, Databricks Jobs to Spark Job Definitions, MLflow tracking URI removal, and Photon to Native Execution Engine substitution. Use when the user wants to: (1) replace dbutils with notebookutils, (2) collapse Unity Catalog namespaces to Lakehouse schemas, (3) convert Databricks Jobs or Delta Live Tables. Triggers: \"migrate from databricks\", \"databricks to fabric\", \"dbutils to notebookutils\", \"dbutils fabric\", \"unity catalog migration\", \"dbfs to onelake\", \"databricks notebook migration\", \"delta live tables fabric\", \"photon native execution\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,17,20,23,26],{"name":13,"slug":14,"type":15},"Data Engineering","data-engineering","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Migration","migration",{"name":21,"slug":22,"type":15},"Databricks","databricks",{"name":24,"slug":25,"type":15},"Microsoft Fabric","microsoft-fabric",{"name":27,"slug":28,"type":15},"Notebooks","notebooks",858,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-fabric","2026-07-24T05:41:22.914341",null,237,[],{"repoUrl":30,"stars":29,"forks":33,"topics":36,"description":37},[],"A collection of skills and MCP systems to enable users of CLI, VSCode, Claude to operate over Microsoft Fabric","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-fabric\u002Ftree\u002FHEAD\u002Fskills\u002Fdatabricks-migration","---\nname: databricks-migration\ndescription: >\n  Port Databricks notebooks and jobs to Microsoft Fabric. Provides an exhaustive dbutils\n  to notebookutils substitution table: fs operations (runtime mounts or OneLake Shortcuts),\n  secret scope to Key Vault URL conversion, notebook run and exit, widget replacement with\n  parameter-tagged cells, and library install replacement with Fabric Environments.\n  Covers Unity Catalog three-level namespace reduction to Lakehouse two-level schemas,\n  DBFS path conversion to OneLake, Databricks Jobs to Spark Job Definitions, MLflow\n  tracking URI removal, and Photon to Native Execution Engine substitution. Use when the\n  user wants to: (1) replace dbutils with notebookutils, (2) collapse Unity Catalog\n  namespaces to Lakehouse schemas, (3) convert Databricks Jobs or Delta Live Tables.\n  Triggers: \"migrate from databricks\", \"databricks to fabric\", \"dbutils to notebookutils\",\n  \"dbutils fabric\", \"unity catalog migration\", \"dbfs to onelake\",\n  \"databricks notebook migration\", \"delta live tables fabric\", \"photon native execution\".\n---\n\n> **Update Check — ONCE PER SESSION (mandatory)**\n> The first time this skill is used in a session, run the **check-updates** skill before proceeding.\n> - **GitHub Copilot CLI \u002F VS Code**: invoke the `check-updates` skill.\n> - **Claude Code \u002F Cowork \u002F Cursor \u002F Windsurf \u002F Codex**: compare local vs remote package.json version.\n> - Skip if the check was already performed earlier in this session.\n\n> **CRITICAL NOTES**\n> 1. To find workspace details (including its ID) from a workspace name: list all workspaces, then use JMESPath filtering\n> 2. To find item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace, then use JMESPath filtering\n> 3. `dbutils.widgets` has **no direct equivalent** in Fabric — use notebook parameters (cell tag `parameters`); `notebookutils.runtime.context` is execution metadata, not parameter storage. If showing context fields, use documented names such as `currentWorkspaceId`, `currentWorkspaceName`, `currentNotebookId`, `currentNotebookName`, `isForPipeline`, and `isForInteractive`; `activityId` is the Livy job ID\n> 4. `dbutils.library` (runtime library install) has **no equivalent** — use Fabric Environments for reproducible library management\n> 5. Unity Catalog uses a 3-level namespace (`catalog.schema.table`); Fabric Lakehouse uses 2-level (`schema.table` within a named Lakehouse)\n> 6. For an under-specified workspace-wide migration, ask focused questions about inventory, workload topology, security, data locations, and runtime constraints before recommending a Fabric topology\n> 7. A completed Fabric migration must not retain executable `dbutils.*` calls in dual-runtime branches or `try\u002Fexcept` guards — replace the calls and Databricks paths outright\n\n# Databricks → Microsoft Fabric Migration\n\n## Prerequisite Knowledge\n\nRead these companion documents before executing migration tasks:\n\n- [COMMON-CORE.md](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md) — Fabric REST API patterns, authentication, token audiences, item discovery\n- [COMMON-CLI.md](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md) — `az rest`, `az login`, token acquisition, Fabric REST via CLI\n- [SPARK-AUTHORING-CORE.md](..\u002F..\u002Fcommon\u002FSPARK-AUTHORING-CORE.md) — Notebook deployment, lakehouse creation, Spark job execution\n\nFor notebook and Lakehouse creation, see [spark-authoring-cli](..\u002Fspark-authoring-cli\u002FSKILL.md).\nFor Fabric Warehouse DDL\u002FDML authoring, see [sqldw-authoring-cli](..\u002Fsqldw-authoring-cli\u002FSKILL.md).\n\n---\n\n## Table of Contents\n\n| Topic | Reference |\n|---|---|\n| Migration Workload Map | [§ Migration Workload Map](#migration-workload-map) |\n| Complete `dbutils` → `notebookutils` Mapping | [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md) |\n| Unity Catalog → Fabric Lakehouse Schemas | [catalog-migration.md](resources\u002Fcatalog-migration.md) |\n| Before\u002FAfter Code Patterns | [code-patterns.md](resources\u002Fcode-patterns.md) |\n| Cluster Config → Fabric Spark Pools | [§ Cluster Config → Fabric Spark Pools](#cluster-config--fabric-spark-pools) |\n| Databricks Jobs → Spark Job Definitions | [§ Databricks Jobs → Spark Job Definitions](#databricks-jobs--spark-job-definitions) |\n| Delta Sharing → Fabric External Data Sharing and OneLake Shortcuts | [§ Delta Sharing → Fabric External Data Sharing and OneLake Shortcuts](#delta-sharing--fabric-external-data-sharing-and-onelake-shortcuts) |\n| MLflow → Fabric ML Experiments | [§ MLflow → Fabric ML Experiments](#mlflow--fabric-ml-experiments) |\n| Must \u002F Prefer \u002F Avoid | [§ Must \u002F Prefer \u002F Avoid](#must--prefer--avoid) |\n| Authentication & Token Acquisition | [COMMON-CORE.md § Authentication](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#authentication--token-acquisition) |\n| Lakehouse Management | [SPARK-AUTHORING-CORE.md § Lakehouse Management](..\u002F..\u002Fcommon\u002FSPARK-AUTHORING-CORE.md#lakehouse-management) |\n| Notebook Management | [SPARK-AUTHORING-CORE.md § Notebook Management](..\u002F..\u002Fcommon\u002FSPARK-AUTHORING-CORE.md#notebook-management) |\n\n---\n\n## Migration Workload Map\n\n| Databricks Component | Fabric Target | Notes |\n|---|---|---|\n| **All-purpose cluster** (notebooks, REPL) | Fabric Notebook (Starter Pool or Custom Pool) | No persistent cluster — Fabric provisions compute on session start |\n| **Job cluster** (automated jobs) | **Spark Job Definition (SJD)** | SJD maps one-to-one with Databricks Jobs on job clusters |\n| **Unity Catalog** | **Fabric Lakehouse** (schema per namespace) | See [catalog-migration.md](resources\u002Fcatalog-migration.md) |\n| **Databricks Repos** (Git-backed notebooks) | **Fabric Git Integration** | Connect workspace to Azure DevOps or GitHub; notebooks are synced |\n| **Delta Live Tables (DLT)** | **Fabric Notebooks** + **Data Pipelines** | No DLT equivalent — rewrite DLT datasets as parameterized notebook cells with pipeline orchestration |\n| **Databricks SQL Warehouses** | **Fabric Warehouse** or **Lakehouse SQL Endpoint** | SQL warehouse sessions → Warehouse (for write) or SQL Endpoint (for read-only) |\n| **MLflow Tracking** | **Fabric ML Experiments** | MLflow SDK is supported in Fabric — see [§ MLflow](#mlflow--fabric-ml-experiments) |\n| **Delta Sharing** | **OneLake Shortcuts** + **Fabric external data sharing** | See [§ Delta Sharing → Fabric External Data Sharing and OneLake Shortcuts](#delta-sharing--fabric-external-data-sharing-and-onelake-shortcuts) |\n| **Databricks Feature Store** | **Fabric Feature Store** (preview) | Direct conceptual equivalent; APIs differ |\n| **dbutils** (all sub-modules) | **`notebookutils`** (most sub-modules) | See [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md) for full mapping |\n\n---\n\n## `dbutils` → `notebookutils` Quick Reference\n\nThe complete side-by-side API table is in [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md). The key mappings are:\n\n| `dbutils` Call | `notebookutils` Equivalent | Compatibility Note |\n|---|---|---|\n| `dbutils.fs.ls(path)` | `notebookutils.fs.ls(path)` | **Direct replacement** |\n| `dbutils.fs.cp(src, dest)` | `notebookutils.fs.cp(src, dest)` | **Direct replacement** |\n| `dbutils.fs.mv(src, dest)` | `notebookutils.fs.mv(src, dest, create_path, overwrite=False)` | ⚠️ Signature differs — see [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md) |\n| `dbutils.fs.rm(path, recurse)` | `notebookutils.fs.rm(path, recurse)` | **Direct replacement** |\n| `dbutils.fs.mkdirs(path)` | `notebookutils.fs.mkdirs(path)` | **Direct replacement** |\n| `dbutils.fs.put(path, contents)` | `notebookutils.fs.put(path, contents)` | **Direct replacement** |\n| `dbutils.fs.head(path, maxBytes)` | `notebookutils.fs.head(path, max_bytes)` | ⚠️ Default differs — Python\u002FScala 100 KB, R 64 KB. See [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md) |\n| `dbutils.fs.mount(...)` | `notebookutils.fs.mount(source, mountPoint, extraConfigs=None)` | ✅ **Supported** — Microsoft Entra (default), `accountKey`, or `sasToken` auth. For cross-workspace \u002F persistent sharing, prefer **OneLake Shortcuts** |\n| `dbutils.secrets.get(scope, key)` | `notebookutils.credentials.getSecret(keyVaultUrl, secretName)` | Scope → Key Vault URL; key → secret name |\n| `dbutils.notebook.run(path, timeout, args)` | `notebookutils.notebook.run(name, timeout, args)` | `path` → notebook `name` (relative to workspace) |\n| `dbutils.notebook.exit(value)` | `notebookutils.notebook.exit(value)` | **Direct replacement** |\n| `dbutils.widgets.get(name)` | See [§ Widgets Migration](#widgets-migration) | No direct equivalent |\n| `dbutils.library.install(...)` | **Not available at runtime** — use **Fabric Environments** | `dbutils.library.restartPython()` → `notebookutils.session.restartPython()` |\n| `dbutils.data.summarize(df)` | `display(df.summary())` | Use `display()` or pandas `describe()` |\n\n### Widgets Migration\n\n`dbutils.widgets` has no direct equivalent in Fabric. Use these patterns instead:\n\n| Use Case | Fabric Pattern |\n|---|---|\n| Pass parameter from parent notebook | Mark a cell in the child notebook as a **parameters cell** (notebook UI: cell \"...\" menu → \"Mark cell as parameters\"). The parent calls `notebookutils.notebook.run(\"child\", arguments={\"param\": \"value\"})` — at runtime the engine inserts a new cell beneath the parameters cell that overrides the defaults |\n| Pipeline-driven parameterization | Same parameters-cell mechanism; the Fabric Pipeline notebook activity supplies override values via its **Base parameters** setting |\n| Centralized cross-notebook config | Use `notebookutils.variableLibrary.getLibrary(\"\u003Cname>\")` to read values from a Variable Library item (deployment pipelines activate the right value set per stage) |\n| Interactive selection in notebook | Use `display()` with input cells, IPython widgets (Python only), or Fabric Data Activator |\n\n> Note: `notebookutils.runtime.context` does **not** expose parameter values. It's for execution metadata (workspace\u002Fnotebook\u002Factivity\u002Fuser IDs, pipeline-vs-interactive flags, etc.). See [dbutils-to-notebookutils.md § Runtime Context](resources\u002Fdbutils-to-notebookutils.md#runtime-context).\n\n---\n\n## Cluster Config → Fabric Spark Pools\n\n| Databricks Cluster Concept | Fabric Spark Equivalent | Notes |\n|---|---|---|\n| All-purpose cluster (interactive) | **Starter Pool** | Auto-provisioned; no config; ideal for notebooks |\n| Job cluster (single-use for jobs) | **Custom Pool** (or Starter Pool) attached to SJD | Configure node size, autoscale in Fabric capacity settings |\n| Node type (e.g., `Standard_DS3_v2`) | **Fabric node size** (Small\u002FMedium\u002FLarge\u002FX-Large\u002FXX-Large) | Map by vCore\u002Fmemory ratio |\n| Autoscale min\u002Fmax workers | Custom Pool **min\u002Fmax node** settings | Available in workspace Spark settings |\n| `spark.conf` in cluster settings | **Fabric Environment** Spark properties | Move to Environment item; attach to workspace or notebook |\n| `init_scripts` (cluster init) | **Fabric Environment** install script | Not fully equivalent — only library installs are supported |\n| Databricks Runtime version | **Fabric Runtime** (1.1 = Spark 3.3, 1.2 = Spark 3.4, 1.3 = Spark 3.5) | Choose matching Spark version; test deprecated APIs |\n| Photon accelerator | **Fabric Native Execution Engine (NEE)** | Enable in workspace Spark settings; vectorized execution similar to Photon |\n\n---\n\n## Databricks Jobs → Spark Job Definitions\n\n| Databricks Jobs Concept | Fabric SJD Equivalent | Notes |\n|---|---|---|\n| Job with single notebook task | **SJD** referencing a notebook | Attach a default Lakehouse; pass parameters via SJD args |\n| Multi-task job (DAG of tasks) | **Fabric Data Pipeline** orchestrating multiple SJDs\u002Fnotebooks | Pipeline activities map to job tasks; dependencies = activity dependencies |\n| Job schedule (cron) | **Pipeline schedule trigger** | Cron expression → recurrence trigger in pipeline |\n| Job parameters | **SJD default arguments** or **notebook cell parameters** | Parameters cell in notebook is injected at runtime |\n| Job clusters per task | **Pool attached to SJD** | Each SJD can specify its Spark pool independently |\n| Databricks Workflows | **Fabric Data Pipelines** | Full DAG orchestration with conditions, loops, and failure branches |\n\n> **Delegate to `spark-authoring-cli`** for SJD creation and notebook deployment.\n\n---\n\n## Delta Sharing → Fabric External Data Sharing and OneLake Shortcuts\n\n| Databricks Delta Sharing Pattern | Fabric Equivalent |\n|---|---|\n| Provider publishes a Delta share | Fabric **external data sharing** for cross-tenant Fabric data, or a OneLake Shortcut to ADLS Gen2 where the Delta data resides |\n| Recipient reads shared data | Accept the external data share into a Lakehouse (Fabric creates a read-only OneLake Shortcut), or create a direct **OneLake Shortcut** to accessible ADLS Gen2 data |\n| Cross-workspace table sharing within org | **OneLake Shortcuts** pointing to another workspace's Lakehouse tables — no data copy |\n| Cross-tenant sharing | Fabric **external data sharing** — live, read-only, in-place access through a shortcut in the recipient tenant |\n\nWhen producing a migration workload map, include both paths: direct OneLake Shortcuts for accessible ADLS or same-tenant OneLake data, and Fabric external data sharing for native cross-tenant recipient sharing.\n\n---\n\n## MLflow → Fabric ML Experiments\n\nFabric ML Experiments are built on the MLflow SDK — most code is directly portable:\n\n| Databricks MLflow Pattern | Fabric Equivalent | Migration Action |\n|---|---|---|\n| `mlflow.set_tracking_uri(\"databricks\")` | Remove — Fabric tracking is automatic | Delete this line in Fabric notebooks |\n| `mlflow.set_experiment(\"\u002Fpath\u002Fexp\")` | `mlflow.set_experiment(\"experiment_name\")` | Use name only (not path); Fabric creates the Experiment item |\n| `mlflow.log_metric(...)` | `mlflow.log_metric(...)` — **identical** | No change |\n| `mlflow.log_artifact(...)` | `mlflow.log_artifact(...)` — **identical** | No change |\n| `mlflow.autolog()` | `mlflow.autolog()` — **identical** | No change |\n| `mlflow.register_model(...)` | `mlflow.register_model(...)` — **identical** | Model Registry is available in Fabric ML |\n| Databricks Model Serving | **Azure ML Online Endpoints** or **Fabric Data Activator** | No direct Fabric model serving yet — use Azure ML |\n\n---\n\n## Must \u002F Prefer \u002F Avoid\n\n### MUST DO\n- **Inventory before prescribing a workspace topology** — for workspace-wide requests that omit workload inventory, dependencies, security requirements, data locations, or runtime constraints, ask focused clarifying questions and present conditional choices before selecting a Fabric design\n- **Replace all `dbutils.*` calls** using the mapping in [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md) — `dbutils` is not available in Fabric notebooks\n- **Migrate `dbutils.fs.mount()` to `notebookutils.fs.mount()`** (✅ supported — Microsoft Entra default, or `accountKey` \u002F `sasToken` from Key Vault). For cross-workspace or persistent sharing, prefer **OneLake Shortcuts** instead. Always pair `mount()` with `unmount()` in `try\u002Ffinally` — Fabric mounts are not released automatically on session end\n- **Replace `dbutils.secrets.get(scope, key)`** with `notebookutils.credentials.getSecret(keyVaultUrl, secretName)` — secret scopes map to Azure Key Vault URLs\n- **Redesign widget-based parameter passing** using notebook **parameters cells** (cell \"...\" menu → \"Mark cell as parameters\"); use `notebookutils.variableLibrary` for centralized cross-notebook config. `notebookutils.runtime.context` does **not** expose parameter values\n- **Replace `dbutils.library.install*()`** with Fabric **Environments** — runtime library installs are not supported in production. `dbutils.library.restartPython()` maps to `notebookutils.session.restartPython()` (Python \u002F PySpark only)\n- **Adapt Unity Catalog 3-level namespaces** (`catalog.schema.table`) to Fabric 2-level (`schema.table` within a Lakehouse) — see [catalog-migration.md](resources\u002Fcatalog-migration.md)\n- **Map Databricks cluster init scripts** to Fabric Environments — cluster-level library installs must move to Environment items\n\n### PREFER\n- **Fabric Native Execution Engine (NEE)** as the Photon equivalent — enable in workspace Spark settings for vectorized execution on Delta Lake\n- **OneLake Shortcuts** over data copy for Delta tables that already exist in ADLS Gen2 — point directly without re-ingesting\n- **Fabric Git Integration** as the replacement for Databricks Repos — connect workspace to ADO or GitHub for notebook version control\n- **Fabric ML Experiments** for direct MLflow continuity — tracking code requires minimal changes (remove `set_tracking_uri`)\n- **Medallion architecture** when restructuring migrated Databricks catalogs — align `bronze`, `silver`, `gold` Unity Catalog schemas to separate Fabric Lakehouses\n- **Starter Pool** for migrating interactive notebook workflows — eliminates cluster startup time that was a common pain point in Databricks job clusters\n\n### AVOID\n- **Do not prescribe a one-size-fits-all workspace topology** when the source inventory and migration constraints are missing\n- **Do not import `dbutils` or attempt `dbutils = ...` assignments** in Fabric notebooks — import attempts fail with `ModuleNotFoundError`, while unresolved `dbutils` references raise `NameError`; always use `notebookutils`\n- **Do not retain `dbutils.*` calls behind runtime-detection guards** (`try\u002Fexcept`, `if IS_DATABRICKS`) — replace the calls and Databricks paths outright with `notebookutils` and Fabric paths\n- **Do not assume Unity Catalog governance policies transfer automatically** — RBAC, row-level security, and column masking must be reconfigured in Fabric using workspace roles and Lakehouse permissions\n- **Do not use `%pip install` in production Fabric notebooks** at runtime — use Fabric Environments for stable, versioned library management\n- **Do not attempt to port Delta Live Tables (DLT) pipelines verbatim** — DLT has no Fabric equivalent; rewrite as parameterized notebooks orchestrated by Fabric Pipelines\n- **Do not rely on Databricks-specific Spark configurations** (e.g., `spark.databricks.*`) — these are proprietary and will be silently ignored or raise errors in Fabric\n- **Do not use DBFS paths** (`dbfs:\u002F...`) — there is no DBFS in Fabric; all paths must use OneLake `abfss:\u002F\u002F` or Lakehouse-relative paths\n\n---\n\n## Examples\n\nSee [dbutils-to-notebookutils.md](resources\u002Fdbutils-to-notebookutils.md) and [code-patterns.md](resources\u002Fcode-patterns.md) for the full mapping. Key quick references:\n\n**`dbutils.fs` → `notebookutils.fs`**\n\n```python\n# Databricks\ndbutils.fs.ls(\"\u002Fmnt\u002Fbronze\u002Forders\u002F\")\ndbutils.fs.cp(\"\u002Fmnt\u002Fraw\u002Ffile.csv\", \"\u002Fmnt\u002Farchive\u002Ffile.csv\")\n\n# Fabric (replace DBFS\u002Fmount paths with OneLake relative paths)\nnotebookutils.fs.ls(\"Files\u002Fbronze\u002Forders\u002F\")\nnotebookutils.fs.cp(\"Files\u002Fraw\u002Ffile.csv\", \"Files\u002Farchive\u002Ffile.csv\")\n```\n\n**`dbutils.secrets` → `notebookutils.credentials`**\n\n```python\n# Databricks\npwd = dbutils.secrets.get(scope=\"prod\", key=\"db-password\")\n\n# Fabric (scope → Key Vault URL, key → secret name)\npwd = notebookutils.credentials.getSecret(\"https:\u002F\u002Fmyvault.vault.azure.net\u002F\", \"db-password\")\n```\n\n**Unity Catalog namespace → Lakehouse schema**\n\n```python\n# Databricks\ndf = spark.read.table(\"prod.silver.customers\")\n\n# Fabric (catalog dropped; Lakehouse context provides it)\ndf = spark.read.table(\"silver.customers\")\n```\n",{"data":41,"body":42},{"name":4,"description":6},{"type":43,"children":44},"root",[45,108,285,292,299,304,356,377,381,387,635,638,643,960,963,980,991,1486,1493,1503,1612,1641,1644,1649,1876,1879,1884,2046,2064,2067,2072,2169,2174,2177,2182,2187,2407,2410,2415,2421,2663,2669,2756,2762,2946,2949,2955,2971,2990,3067,3086,3131,3139,3184],{"type":46,"tag":47,"props":48,"children":49},"element","blockquote",{},[50,70],{"type":46,"tag":51,"props":52,"children":53},"p",{},[54,61,63,68],{"type":46,"tag":55,"props":56,"children":57},"strong",{},[58],{"type":59,"value":60},"text","Update Check — ONCE PER SESSION (mandatory)",{"type":59,"value":62},"\nThe first time this skill is used in a session, run the ",{"type":46,"tag":55,"props":64,"children":65},{},[66],{"type":59,"value":67},"check-updates",{"type":59,"value":69}," skill before proceeding.",{"type":46,"tag":71,"props":72,"children":73},"ul",{},[74,93,103],{"type":46,"tag":75,"props":76,"children":77},"li",{},[78,83,85,91],{"type":46,"tag":55,"props":79,"children":80},{},[81],{"type":59,"value":82},"GitHub Copilot CLI \u002F VS Code",{"type":59,"value":84},": invoke the ",{"type":46,"tag":86,"props":87,"children":89},"code",{"className":88},[],[90],{"type":59,"value":67},{"type":59,"value":92}," skill.",{"type":46,"tag":75,"props":94,"children":95},{},[96,101],{"type":46,"tag":55,"props":97,"children":98},{},[99],{"type":59,"value":100},"Claude Code \u002F Cowork \u002F Cursor \u002F Windsurf \u002F Codex",{"type":59,"value":102},": compare local vs remote package.json version.",{"type":46,"tag":75,"props":104,"children":105},{},[106],{"type":59,"value":107},"Skip if the check was already performed earlier in this session.",{"type":46,"tag":47,"props":109,"children":110},{},[111,119],{"type":46,"tag":51,"props":112,"children":113},{},[114],{"type":46,"tag":55,"props":115,"children":116},{},[117],{"type":59,"value":118},"CRITICAL NOTES",{"type":46,"tag":120,"props":121,"children":122},"ol",{},[123,128,133,220,238,259,264],{"type":46,"tag":75,"props":124,"children":125},{},[126],{"type":59,"value":127},"To find workspace details (including its ID) from a workspace name: list all workspaces, then use JMESPath filtering",{"type":46,"tag":75,"props":129,"children":130},{},[131],{"type":59,"value":132},"To find item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace, then use JMESPath filtering",{"type":46,"tag":75,"props":134,"children":135},{},[136,142,144,149,151,157,159,165,167,173,175,181,182,188,189,195,196,202,204,210,212,218],{"type":46,"tag":86,"props":137,"children":139},{"className":138},[],[140],{"type":59,"value":141},"dbutils.widgets",{"type":59,"value":143}," has ",{"type":46,"tag":55,"props":145,"children":146},{},[147],{"type":59,"value":148},"no direct equivalent",{"type":59,"value":150}," in Fabric — use notebook parameters (cell tag ",{"type":46,"tag":86,"props":152,"children":154},{"className":153},[],[155],{"type":59,"value":156},"parameters",{"type":59,"value":158},"); ",{"type":46,"tag":86,"props":160,"children":162},{"className":161},[],[163],{"type":59,"value":164},"notebookutils.runtime.context",{"type":59,"value":166}," is execution metadata, not parameter storage. If showing context fields, use documented names such as ",{"type":46,"tag":86,"props":168,"children":170},{"className":169},[],[171],{"type":59,"value":172},"currentWorkspaceId",{"type":59,"value":174},", ",{"type":46,"tag":86,"props":176,"children":178},{"className":177},[],[179],{"type":59,"value":180},"currentWorkspaceName",{"type":59,"value":174},{"type":46,"tag":86,"props":183,"children":185},{"className":184},[],[186],{"type":59,"value":187},"currentNotebookId",{"type":59,"value":174},{"type":46,"tag":86,"props":190,"children":192},{"className":191},[],[193],{"type":59,"value":194},"currentNotebookName",{"type":59,"value":174},{"type":46,"tag":86,"props":197,"children":199},{"className":198},[],[200],{"type":59,"value":201},"isForPipeline",{"type":59,"value":203},", and ",{"type":46,"tag":86,"props":205,"children":207},{"className":206},[],[208],{"type":59,"value":209},"isForInteractive",{"type":59,"value":211},"; ",{"type":46,"tag":86,"props":213,"children":215},{"className":214},[],[216],{"type":59,"value":217},"activityId",{"type":59,"value":219}," is the Livy job ID",{"type":46,"tag":75,"props":221,"children":222},{},[223,229,231,236],{"type":46,"tag":86,"props":224,"children":226},{"className":225},[],[227],{"type":59,"value":228},"dbutils.library",{"type":59,"value":230}," (runtime library install) has ",{"type":46,"tag":55,"props":232,"children":233},{},[234],{"type":59,"value":235},"no equivalent",{"type":59,"value":237}," — use Fabric Environments for reproducible library management",{"type":46,"tag":75,"props":239,"children":240},{},[241,243,249,251,257],{"type":59,"value":242},"Unity Catalog uses a 3-level namespace (",{"type":46,"tag":86,"props":244,"children":246},{"className":245},[],[247],{"type":59,"value":248},"catalog.schema.table",{"type":59,"value":250},"); Fabric Lakehouse uses 2-level (",{"type":46,"tag":86,"props":252,"children":254},{"className":253},[],[255],{"type":59,"value":256},"schema.table",{"type":59,"value":258}," within a named Lakehouse)",{"type":46,"tag":75,"props":260,"children":261},{},[262],{"type":59,"value":263},"For an under-specified workspace-wide migration, ask focused questions about inventory, workload topology, security, data locations, and runtime constraints before recommending a Fabric topology",{"type":46,"tag":75,"props":265,"children":266},{},[267,269,275,277,283],{"type":59,"value":268},"A completed Fabric migration must not retain executable ",{"type":46,"tag":86,"props":270,"children":272},{"className":271},[],[273],{"type":59,"value":274},"dbutils.*",{"type":59,"value":276}," calls in dual-runtime branches or ",{"type":46,"tag":86,"props":278,"children":280},{"className":279},[],[281],{"type":59,"value":282},"try\u002Fexcept",{"type":59,"value":284}," guards — replace the calls and Databricks paths outright",{"type":46,"tag":286,"props":287,"children":289},"h1",{"id":288},"databricks-microsoft-fabric-migration",[290],{"type":59,"value":291},"Databricks → Microsoft Fabric Migration",{"type":46,"tag":293,"props":294,"children":296},"h2",{"id":295},"prerequisite-knowledge",[297],{"type":59,"value":298},"Prerequisite Knowledge",{"type":46,"tag":51,"props":300,"children":301},{},[302],{"type":59,"value":303},"Read these companion documents before executing migration tasks:",{"type":46,"tag":71,"props":305,"children":306},{},[307,319,345],{"type":46,"tag":75,"props":308,"children":309},{},[310,317],{"type":46,"tag":311,"props":312,"children":314},"a",{"href":313},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md",[315],{"type":59,"value":316},"COMMON-CORE.md",{"type":59,"value":318}," — Fabric REST API patterns, authentication, token audiences, item discovery",{"type":46,"tag":75,"props":320,"children":321},{},[322,328,330,336,337,343],{"type":46,"tag":311,"props":323,"children":325},{"href":324},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md",[326],{"type":59,"value":327},"COMMON-CLI.md",{"type":59,"value":329}," — ",{"type":46,"tag":86,"props":331,"children":333},{"className":332},[],[334],{"type":59,"value":335},"az rest",{"type":59,"value":174},{"type":46,"tag":86,"props":338,"children":340},{"className":339},[],[341],{"type":59,"value":342},"az login",{"type":59,"value":344},", token acquisition, Fabric REST via CLI",{"type":46,"tag":75,"props":346,"children":347},{},[348,354],{"type":46,"tag":311,"props":349,"children":351},{"href":350},"..\u002F..\u002Fcommon\u002FSPARK-AUTHORING-CORE.md",[352],{"type":59,"value":353},"SPARK-AUTHORING-CORE.md",{"type":59,"value":355}," — Notebook deployment, lakehouse creation, Spark job execution",{"type":46,"tag":51,"props":357,"children":358},{},[359,361,367,369,375],{"type":59,"value":360},"For notebook and Lakehouse creation, see ",{"type":46,"tag":311,"props":362,"children":364},{"href":363},"..\u002Fspark-authoring-cli\u002FSKILL.md",[365],{"type":59,"value":366},"spark-authoring-cli",{"type":59,"value":368},".\nFor Fabric Warehouse DDL\u002FDML authoring, see ",{"type":46,"tag":311,"props":370,"children":372},{"href":371},"..\u002Fsqldw-authoring-cli\u002FSKILL.md",[373],{"type":59,"value":374},"sqldw-authoring-cli",{"type":59,"value":376},".",{"type":46,"tag":378,"props":379,"children":380},"hr",{},[],{"type":46,"tag":293,"props":382,"children":384},{"id":383},"table-of-contents",[385],{"type":59,"value":386},"Table of Contents",{"type":46,"tag":388,"props":389,"children":390},"table",{},[391,410],{"type":46,"tag":392,"props":393,"children":394},"thead",{},[395],{"type":46,"tag":396,"props":397,"children":398},"tr",{},[399,405],{"type":46,"tag":400,"props":401,"children":402},"th",{},[403],{"type":59,"value":404},"Topic",{"type":46,"tag":400,"props":406,"children":407},{},[408],{"type":59,"value":409},"Reference",{"type":46,"tag":411,"props":412,"children":413},"tbody",{},[414,432,465,482,499,516,533,550,567,584,601,618],{"type":46,"tag":396,"props":415,"children":416},{},[417,423],{"type":46,"tag":418,"props":419,"children":420},"td",{},[421],{"type":59,"value":422},"Migration Workload Map",{"type":46,"tag":418,"props":424,"children":425},{},[426],{"type":46,"tag":311,"props":427,"children":429},{"href":428},"#migration-workload-map",[430],{"type":59,"value":431},"§ Migration Workload Map",{"type":46,"tag":396,"props":433,"children":434},{},[435,456],{"type":46,"tag":418,"props":436,"children":437},{},[438,440,446,448,454],{"type":59,"value":439},"Complete ",{"type":46,"tag":86,"props":441,"children":443},{"className":442},[],[444],{"type":59,"value":445},"dbutils",{"type":59,"value":447}," → ",{"type":46,"tag":86,"props":449,"children":451},{"className":450},[],[452],{"type":59,"value":453},"notebookutils",{"type":59,"value":455}," Mapping",{"type":46,"tag":418,"props":457,"children":458},{},[459],{"type":46,"tag":311,"props":460,"children":462},{"href":461},"resources\u002Fdbutils-to-notebookutils.md",[463],{"type":59,"value":464},"dbutils-to-notebookutils.md",{"type":46,"tag":396,"props":466,"children":467},{},[468,473],{"type":46,"tag":418,"props":469,"children":470},{},[471],{"type":59,"value":472},"Unity Catalog → Fabric Lakehouse Schemas",{"type":46,"tag":418,"props":474,"children":475},{},[476],{"type":46,"tag":311,"props":477,"children":479},{"href":478},"resources\u002Fcatalog-migration.md",[480],{"type":59,"value":481},"catalog-migration.md",{"type":46,"tag":396,"props":483,"children":484},{},[485,490],{"type":46,"tag":418,"props":486,"children":487},{},[488],{"type":59,"value":489},"Before\u002FAfter Code Patterns",{"type":46,"tag":418,"props":491,"children":492},{},[493],{"type":46,"tag":311,"props":494,"children":496},{"href":495},"resources\u002Fcode-patterns.md",[497],{"type":59,"value":498},"code-patterns.md",{"type":46,"tag":396,"props":500,"children":501},{},[502,507],{"type":46,"tag":418,"props":503,"children":504},{},[505],{"type":59,"value":506},"Cluster Config → Fabric Spark Pools",{"type":46,"tag":418,"props":508,"children":509},{},[510],{"type":46,"tag":311,"props":511,"children":513},{"href":512},"#cluster-config--fabric-spark-pools",[514],{"type":59,"value":515},"§ Cluster Config → Fabric Spark Pools",{"type":46,"tag":396,"props":517,"children":518},{},[519,524],{"type":46,"tag":418,"props":520,"children":521},{},[522],{"type":59,"value":523},"Databricks Jobs → Spark Job Definitions",{"type":46,"tag":418,"props":525,"children":526},{},[527],{"type":46,"tag":311,"props":528,"children":530},{"href":529},"#databricks-jobs--spark-job-definitions",[531],{"type":59,"value":532},"§ Databricks Jobs → Spark Job Definitions",{"type":46,"tag":396,"props":534,"children":535},{},[536,541],{"type":46,"tag":418,"props":537,"children":538},{},[539],{"type":59,"value":540},"Delta Sharing → Fabric External Data Sharing and OneLake Shortcuts",{"type":46,"tag":418,"props":542,"children":543},{},[544],{"type":46,"tag":311,"props":545,"children":547},{"href":546},"#delta-sharing--fabric-external-data-sharing-and-onelake-shortcuts",[548],{"type":59,"value":549},"§ Delta Sharing → Fabric External Data Sharing and OneLake Shortcuts",{"type":46,"tag":396,"props":551,"children":552},{},[553,558],{"type":46,"tag":418,"props":554,"children":555},{},[556],{"type":59,"value":557},"MLflow → Fabric ML Experiments",{"type":46,"tag":418,"props":559,"children":560},{},[561],{"type":46,"tag":311,"props":562,"children":564},{"href":563},"#mlflow--fabric-ml-experiments",[565],{"type":59,"value":566},"§ MLflow → Fabric ML Experiments",{"type":46,"tag":396,"props":568,"children":569},{},[570,575],{"type":46,"tag":418,"props":571,"children":572},{},[573],{"type":59,"value":574},"Must \u002F Prefer \u002F Avoid",{"type":46,"tag":418,"props":576,"children":577},{},[578],{"type":46,"tag":311,"props":579,"children":581},{"href":580},"#must--prefer--avoid",[582],{"type":59,"value":583},"§ Must \u002F Prefer \u002F Avoid",{"type":46,"tag":396,"props":585,"children":586},{},[587,592],{"type":46,"tag":418,"props":588,"children":589},{},[590],{"type":59,"value":591},"Authentication & Token Acquisition",{"type":46,"tag":418,"props":593,"children":594},{},[595],{"type":46,"tag":311,"props":596,"children":598},{"href":597},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md#authentication--token-acquisition",[599],{"type":59,"value":600},"COMMON-CORE.md § Authentication",{"type":46,"tag":396,"props":602,"children":603},{},[604,609],{"type":46,"tag":418,"props":605,"children":606},{},[607],{"type":59,"value":608},"Lakehouse Management",{"type":46,"tag":418,"props":610,"children":611},{},[612],{"type":46,"tag":311,"props":613,"children":615},{"href":614},"..\u002F..\u002Fcommon\u002FSPARK-AUTHORING-CORE.md#lakehouse-management",[616],{"type":59,"value":617},"SPARK-AUTHORING-CORE.md § Lakehouse Management",{"type":46,"tag":396,"props":619,"children":620},{},[621,626],{"type":46,"tag":418,"props":622,"children":623},{},[624],{"type":59,"value":625},"Notebook Management",{"type":46,"tag":418,"props":627,"children":628},{},[629],{"type":46,"tag":311,"props":630,"children":632},{"href":631},"..\u002F..\u002Fcommon\u002FSPARK-AUTHORING-CORE.md#notebook-management",[633],{"type":59,"value":634},"SPARK-AUTHORING-CORE.md § Notebook Management",{"type":46,"tag":378,"props":636,"children":637},{},[],{"type":46,"tag":293,"props":639,"children":641},{"id":640},"migration-workload-map",[642],{"type":59,"value":422},{"type":46,"tag":388,"props":644,"children":645},{},[646,667],{"type":46,"tag":392,"props":647,"children":648},{},[649],{"type":46,"tag":396,"props":650,"children":651},{},[652,657,662],{"type":46,"tag":400,"props":653,"children":654},{},[655],{"type":59,"value":656},"Databricks Component",{"type":46,"tag":400,"props":658,"children":659},{},[660],{"type":59,"value":661},"Fabric Target",{"type":46,"tag":400,"props":663,"children":664},{},[665],{"type":59,"value":666},"Notes",{"type":46,"tag":411,"props":668,"children":669},{},[670,693,719,749,775,806,837,866,899,925],{"type":46,"tag":396,"props":671,"children":672},{},[673,683,688],{"type":46,"tag":418,"props":674,"children":675},{},[676,681],{"type":46,"tag":55,"props":677,"children":678},{},[679],{"type":59,"value":680},"All-purpose cluster",{"type":59,"value":682}," (notebooks, REPL)",{"type":46,"tag":418,"props":684,"children":685},{},[686],{"type":59,"value":687},"Fabric Notebook (Starter Pool or Custom Pool)",{"type":46,"tag":418,"props":689,"children":690},{},[691],{"type":59,"value":692},"No persistent cluster — Fabric provisions compute on session start",{"type":46,"tag":396,"props":694,"children":695},{},[696,706,714],{"type":46,"tag":418,"props":697,"children":698},{},[699,704],{"type":46,"tag":55,"props":700,"children":701},{},[702],{"type":59,"value":703},"Job cluster",{"type":59,"value":705}," (automated jobs)",{"type":46,"tag":418,"props":707,"children":708},{},[709],{"type":46,"tag":55,"props":710,"children":711},{},[712],{"type":59,"value":713},"Spark Job Definition (SJD)",{"type":46,"tag":418,"props":715,"children":716},{},[717],{"type":59,"value":718},"SJD maps one-to-one with Databricks Jobs on job clusters",{"type":46,"tag":396,"props":720,"children":721},{},[722,730,740],{"type":46,"tag":418,"props":723,"children":724},{},[725],{"type":46,"tag":55,"props":726,"children":727},{},[728],{"type":59,"value":729},"Unity Catalog",{"type":46,"tag":418,"props":731,"children":732},{},[733,738],{"type":46,"tag":55,"props":734,"children":735},{},[736],{"type":59,"value":737},"Fabric Lakehouse",{"type":59,"value":739}," (schema per namespace)",{"type":46,"tag":418,"props":741,"children":742},{},[743,745],{"type":59,"value":744},"See ",{"type":46,"tag":311,"props":746,"children":747},{"href":478},[748],{"type":59,"value":481},{"type":46,"tag":396,"props":750,"children":751},{},[752,762,770],{"type":46,"tag":418,"props":753,"children":754},{},[755,760],{"type":46,"tag":55,"props":756,"children":757},{},[758],{"type":59,"value":759},"Databricks Repos",{"type":59,"value":761}," (Git-backed notebooks)",{"type":46,"tag":418,"props":763,"children":764},{},[765],{"type":46,"tag":55,"props":766,"children":767},{},[768],{"type":59,"value":769},"Fabric Git Integration",{"type":46,"tag":418,"props":771,"children":772},{},[773],{"type":59,"value":774},"Connect workspace to Azure DevOps or GitHub; notebooks are synced",{"type":46,"tag":396,"props":776,"children":777},{},[778,786,801],{"type":46,"tag":418,"props":779,"children":780},{},[781],{"type":46,"tag":55,"props":782,"children":783},{},[784],{"type":59,"value":785},"Delta Live Tables (DLT)",{"type":46,"tag":418,"props":787,"children":788},{},[789,794,796],{"type":46,"tag":55,"props":790,"children":791},{},[792],{"type":59,"value":793},"Fabric Notebooks",{"type":59,"value":795}," + ",{"type":46,"tag":55,"props":797,"children":798},{},[799],{"type":59,"value":800},"Data Pipelines",{"type":46,"tag":418,"props":802,"children":803},{},[804],{"type":59,"value":805},"No DLT equivalent — rewrite DLT datasets as parameterized notebook cells with pipeline orchestration",{"type":46,"tag":396,"props":807,"children":808},{},[809,817,832],{"type":46,"tag":418,"props":810,"children":811},{},[812],{"type":46,"tag":55,"props":813,"children":814},{},[815],{"type":59,"value":816},"Databricks SQL Warehouses",{"type":46,"tag":418,"props":818,"children":819},{},[820,825,827],{"type":46,"tag":55,"props":821,"children":822},{},[823],{"type":59,"value":824},"Fabric Warehouse",{"type":59,"value":826}," or ",{"type":46,"tag":55,"props":828,"children":829},{},[830],{"type":59,"value":831},"Lakehouse SQL Endpoint",{"type":46,"tag":418,"props":833,"children":834},{},[835],{"type":59,"value":836},"SQL warehouse sessions → Warehouse (for write) or SQL Endpoint (for read-only)",{"type":46,"tag":396,"props":838,"children":839},{},[840,848,856],{"type":46,"tag":418,"props":841,"children":842},{},[843],{"type":46,"tag":55,"props":844,"children":845},{},[846],{"type":59,"value":847},"MLflow Tracking",{"type":46,"tag":418,"props":849,"children":850},{},[851],{"type":46,"tag":55,"props":852,"children":853},{},[854],{"type":59,"value":855},"Fabric ML Experiments",{"type":46,"tag":418,"props":857,"children":858},{},[859,861],{"type":59,"value":860},"MLflow SDK is supported in Fabric — see ",{"type":46,"tag":311,"props":862,"children":863},{"href":563},[864],{"type":59,"value":865},"§ MLflow",{"type":46,"tag":396,"props":867,"children":868},{},[869,877,891],{"type":46,"tag":418,"props":870,"children":871},{},[872],{"type":46,"tag":55,"props":873,"children":874},{},[875],{"type":59,"value":876},"Delta Sharing",{"type":46,"tag":418,"props":878,"children":879},{},[880,885,886],{"type":46,"tag":55,"props":881,"children":882},{},[883],{"type":59,"value":884},"OneLake Shortcuts",{"type":59,"value":795},{"type":46,"tag":55,"props":887,"children":888},{},[889],{"type":59,"value":890},"Fabric external data sharing",{"type":46,"tag":418,"props":892,"children":893},{},[894,895],{"type":59,"value":744},{"type":46,"tag":311,"props":896,"children":897},{"href":546},[898],{"type":59,"value":549},{"type":46,"tag":396,"props":900,"children":901},{},[902,910,920],{"type":46,"tag":418,"props":903,"children":904},{},[905],{"type":46,"tag":55,"props":906,"children":907},{},[908],{"type":59,"value":909},"Databricks Feature Store",{"type":46,"tag":418,"props":911,"children":912},{},[913,918],{"type":46,"tag":55,"props":914,"children":915},{},[916],{"type":59,"value":917},"Fabric Feature Store",{"type":59,"value":919}," (preview)",{"type":46,"tag":418,"props":921,"children":922},{},[923],{"type":59,"value":924},"Direct conceptual equivalent; APIs differ",{"type":46,"tag":396,"props":926,"children":927},{},[928,937,950],{"type":46,"tag":418,"props":929,"children":930},{},[931,935],{"type":46,"tag":55,"props":932,"children":933},{},[934],{"type":59,"value":445},{"type":59,"value":936}," (all sub-modules)",{"type":46,"tag":418,"props":938,"children":939},{},[940,948],{"type":46,"tag":55,"props":941,"children":942},{},[943],{"type":46,"tag":86,"props":944,"children":946},{"className":945},[],[947],{"type":59,"value":453},{"type":59,"value":949}," (most sub-modules)",{"type":46,"tag":418,"props":951,"children":952},{},[953,954,958],{"type":59,"value":744},{"type":46,"tag":311,"props":955,"children":956},{"href":461},[957],{"type":59,"value":464},{"type":59,"value":959}," for full mapping",{"type":46,"tag":378,"props":961,"children":962},{},[],{"type":46,"tag":293,"props":964,"children":966},{"id":965},"dbutils-notebookutils-quick-reference",[967,972,973,978],{"type":46,"tag":86,"props":968,"children":970},{"className":969},[],[971],{"type":59,"value":445},{"type":59,"value":447},{"type":46,"tag":86,"props":974,"children":976},{"className":975},[],[977],{"type":59,"value":453},{"type":59,"value":979}," Quick Reference",{"type":46,"tag":51,"props":981,"children":982},{},[983,985,989],{"type":59,"value":984},"The complete side-by-side API table is in ",{"type":46,"tag":311,"props":986,"children":987},{"href":461},[988],{"type":59,"value":464},{"type":59,"value":990},". The key mappings are:",{"type":46,"tag":388,"props":992,"children":993},{},[994,1025],{"type":46,"tag":392,"props":995,"children":996},{},[997],{"type":46,"tag":396,"props":998,"children":999},{},[1000,1010,1020],{"type":46,"tag":400,"props":1001,"children":1002},{},[1003,1008],{"type":46,"tag":86,"props":1004,"children":1006},{"className":1005},[],[1007],{"type":59,"value":445},{"type":59,"value":1009}," Call",{"type":46,"tag":400,"props":1011,"children":1012},{},[1013,1018],{"type":46,"tag":86,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":59,"value":453},{"type":59,"value":1019}," Equivalent",{"type":46,"tag":400,"props":1021,"children":1022},{},[1023],{"type":59,"value":1024},"Compatibility Note",{"type":46,"tag":411,"props":1026,"children":1027},{},[1028,1057,1085,1115,1143,1171,1199,1229,1282,1308,1348,1376,1403,1446],{"type":46,"tag":396,"props":1029,"children":1030},{},[1031,1040,1049],{"type":46,"tag":418,"props":1032,"children":1033},{},[1034],{"type":46,"tag":86,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":59,"value":1039},"dbutils.fs.ls(path)",{"type":46,"tag":418,"props":1041,"children":1042},{},[1043],{"type":46,"tag":86,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":59,"value":1048},"notebookutils.fs.ls(path)",{"type":46,"tag":418,"props":1050,"children":1051},{},[1052],{"type":46,"tag":55,"props":1053,"children":1054},{},[1055],{"type":59,"value":1056},"Direct replacement",{"type":46,"tag":396,"props":1058,"children":1059},{},[1060,1069,1078],{"type":46,"tag":418,"props":1061,"children":1062},{},[1063],{"type":46,"tag":86,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":59,"value":1068},"dbutils.fs.cp(src, dest)",{"type":46,"tag":418,"props":1070,"children":1071},{},[1072],{"type":46,"tag":86,"props":1073,"children":1075},{"className":1074},[],[1076],{"type":59,"value":1077},"notebookutils.fs.cp(src, dest)",{"type":46,"tag":418,"props":1079,"children":1080},{},[1081],{"type":46,"tag":55,"props":1082,"children":1083},{},[1084],{"type":59,"value":1056},{"type":46,"tag":396,"props":1086,"children":1087},{},[1088,1097,1106],{"type":46,"tag":418,"props":1089,"children":1090},{},[1091],{"type":46,"tag":86,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":59,"value":1096},"dbutils.fs.mv(src, dest)",{"type":46,"tag":418,"props":1098,"children":1099},{},[1100],{"type":46,"tag":86,"props":1101,"children":1103},{"className":1102},[],[1104],{"type":59,"value":1105},"notebookutils.fs.mv(src, dest, create_path, overwrite=False)",{"type":46,"tag":418,"props":1107,"children":1108},{},[1109,1111],{"type":59,"value":1110},"⚠️ Signature differs — see ",{"type":46,"tag":311,"props":1112,"children":1113},{"href":461},[1114],{"type":59,"value":464},{"type":46,"tag":396,"props":1116,"children":1117},{},[1118,1127,1136],{"type":46,"tag":418,"props":1119,"children":1120},{},[1121],{"type":46,"tag":86,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":59,"value":1126},"dbutils.fs.rm(path, recurse)",{"type":46,"tag":418,"props":1128,"children":1129},{},[1130],{"type":46,"tag":86,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":59,"value":1135},"notebookutils.fs.rm(path, recurse)",{"type":46,"tag":418,"props":1137,"children":1138},{},[1139],{"type":46,"tag":55,"props":1140,"children":1141},{},[1142],{"type":59,"value":1056},{"type":46,"tag":396,"props":1144,"children":1145},{},[1146,1155,1164],{"type":46,"tag":418,"props":1147,"children":1148},{},[1149],{"type":46,"tag":86,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":59,"value":1154},"dbutils.fs.mkdirs(path)",{"type":46,"tag":418,"props":1156,"children":1157},{},[1158],{"type":46,"tag":86,"props":1159,"children":1161},{"className":1160},[],[1162],{"type":59,"value":1163},"notebookutils.fs.mkdirs(path)",{"type":46,"tag":418,"props":1165,"children":1166},{},[1167],{"type":46,"tag":55,"props":1168,"children":1169},{},[1170],{"type":59,"value":1056},{"type":46,"tag":396,"props":1172,"children":1173},{},[1174,1183,1192],{"type":46,"tag":418,"props":1175,"children":1176},{},[1177],{"type":46,"tag":86,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":59,"value":1182},"dbutils.fs.put(path, contents)",{"type":46,"tag":418,"props":1184,"children":1185},{},[1186],{"type":46,"tag":86,"props":1187,"children":1189},{"className":1188},[],[1190],{"type":59,"value":1191},"notebookutils.fs.put(path, contents)",{"type":46,"tag":418,"props":1193,"children":1194},{},[1195],{"type":46,"tag":55,"props":1196,"children":1197},{},[1198],{"type":59,"value":1056},{"type":46,"tag":396,"props":1200,"children":1201},{},[1202,1211,1220],{"type":46,"tag":418,"props":1203,"children":1204},{},[1205],{"type":46,"tag":86,"props":1206,"children":1208},{"className":1207},[],[1209],{"type":59,"value":1210},"dbutils.fs.head(path, maxBytes)",{"type":46,"tag":418,"props":1212,"children":1213},{},[1214],{"type":46,"tag":86,"props":1215,"children":1217},{"className":1216},[],[1218],{"type":59,"value":1219},"notebookutils.fs.head(path, max_bytes)",{"type":46,"tag":418,"props":1221,"children":1222},{},[1223,1225],{"type":59,"value":1224},"⚠️ Default differs — Python\u002FScala 100 KB, R 64 KB. See ",{"type":46,"tag":311,"props":1226,"children":1227},{"href":461},[1228],{"type":59,"value":464},{"type":46,"tag":396,"props":1230,"children":1231},{},[1232,1241,1250],{"type":46,"tag":418,"props":1233,"children":1234},{},[1235],{"type":46,"tag":86,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":59,"value":1240},"dbutils.fs.mount(...)",{"type":46,"tag":418,"props":1242,"children":1243},{},[1244],{"type":46,"tag":86,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":59,"value":1249},"notebookutils.fs.mount(source, mountPoint, extraConfigs=None)",{"type":46,"tag":418,"props":1251,"children":1252},{},[1253,1255,1260,1262,1268,1270,1276,1278],{"type":59,"value":1254},"✅ ",{"type":46,"tag":55,"props":1256,"children":1257},{},[1258],{"type":59,"value":1259},"Supported",{"type":59,"value":1261}," — Microsoft Entra (default), ",{"type":46,"tag":86,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":59,"value":1267},"accountKey",{"type":59,"value":1269},", or ",{"type":46,"tag":86,"props":1271,"children":1273},{"className":1272},[],[1274],{"type":59,"value":1275},"sasToken",{"type":59,"value":1277}," auth. For cross-workspace \u002F persistent sharing, prefer ",{"type":46,"tag":55,"props":1279,"children":1280},{},[1281],{"type":59,"value":884},{"type":46,"tag":396,"props":1283,"children":1284},{},[1285,1294,1303],{"type":46,"tag":418,"props":1286,"children":1287},{},[1288],{"type":46,"tag":86,"props":1289,"children":1291},{"className":1290},[],[1292],{"type":59,"value":1293},"dbutils.secrets.get(scope, key)",{"type":46,"tag":418,"props":1295,"children":1296},{},[1297],{"type":46,"tag":86,"props":1298,"children":1300},{"className":1299},[],[1301],{"type":59,"value":1302},"notebookutils.credentials.getSecret(keyVaultUrl, secretName)",{"type":46,"tag":418,"props":1304,"children":1305},{},[1306],{"type":59,"value":1307},"Scope → Key Vault URL; key → secret name",{"type":46,"tag":396,"props":1309,"children":1310},{},[1311,1320,1329],{"type":46,"tag":418,"props":1312,"children":1313},{},[1314],{"type":46,"tag":86,"props":1315,"children":1317},{"className":1316},[],[1318],{"type":59,"value":1319},"dbutils.notebook.run(path, timeout, args)",{"type":46,"tag":418,"props":1321,"children":1322},{},[1323],{"type":46,"tag":86,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":59,"value":1328},"notebookutils.notebook.run(name, timeout, args)",{"type":46,"tag":418,"props":1330,"children":1331},{},[1332,1338,1340,1346],{"type":46,"tag":86,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":59,"value":1337},"path",{"type":59,"value":1339}," → notebook ",{"type":46,"tag":86,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":59,"value":1345},"name",{"type":59,"value":1347}," (relative to workspace)",{"type":46,"tag":396,"props":1349,"children":1350},{},[1351,1360,1369],{"type":46,"tag":418,"props":1352,"children":1353},{},[1354],{"type":46,"tag":86,"props":1355,"children":1357},{"className":1356},[],[1358],{"type":59,"value":1359},"dbutils.notebook.exit(value)",{"type":46,"tag":418,"props":1361,"children":1362},{},[1363],{"type":46,"tag":86,"props":1364,"children":1366},{"className":1365},[],[1367],{"type":59,"value":1368},"notebookutils.notebook.exit(value)",{"type":46,"tag":418,"props":1370,"children":1371},{},[1372],{"type":46,"tag":55,"props":1373,"children":1374},{},[1375],{"type":59,"value":1056},{"type":46,"tag":396,"props":1377,"children":1378},{},[1379,1388,1398],{"type":46,"tag":418,"props":1380,"children":1381},{},[1382],{"type":46,"tag":86,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":59,"value":1387},"dbutils.widgets.get(name)",{"type":46,"tag":418,"props":1389,"children":1390},{},[1391,1392],{"type":59,"value":744},{"type":46,"tag":311,"props":1393,"children":1395},{"href":1394},"#widgets-migration",[1396],{"type":59,"value":1397},"§ Widgets Migration",{"type":46,"tag":418,"props":1399,"children":1400},{},[1401],{"type":59,"value":1402},"No direct equivalent",{"type":46,"tag":396,"props":1404,"children":1405},{},[1406,1415,1430],{"type":46,"tag":418,"props":1407,"children":1408},{},[1409],{"type":46,"tag":86,"props":1410,"children":1412},{"className":1411},[],[1413],{"type":59,"value":1414},"dbutils.library.install(...)",{"type":46,"tag":418,"props":1416,"children":1417},{},[1418,1423,1425],{"type":46,"tag":55,"props":1419,"children":1420},{},[1421],{"type":59,"value":1422},"Not available at runtime",{"type":59,"value":1424}," — use ",{"type":46,"tag":55,"props":1426,"children":1427},{},[1428],{"type":59,"value":1429},"Fabric Environments",{"type":46,"tag":418,"props":1431,"children":1432},{},[1433,1439,1440],{"type":46,"tag":86,"props":1434,"children":1436},{"className":1435},[],[1437],{"type":59,"value":1438},"dbutils.library.restartPython()",{"type":59,"value":447},{"type":46,"tag":86,"props":1441,"children":1443},{"className":1442},[],[1444],{"type":59,"value":1445},"notebookutils.session.restartPython()",{"type":46,"tag":396,"props":1447,"children":1448},{},[1449,1458,1467],{"type":46,"tag":418,"props":1450,"children":1451},{},[1452],{"type":46,"tag":86,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":59,"value":1457},"dbutils.data.summarize(df)",{"type":46,"tag":418,"props":1459,"children":1460},{},[1461],{"type":46,"tag":86,"props":1462,"children":1464},{"className":1463},[],[1465],{"type":59,"value":1466},"display(df.summary())",{"type":46,"tag":418,"props":1468,"children":1469},{},[1470,1472,1478,1480],{"type":59,"value":1471},"Use ",{"type":46,"tag":86,"props":1473,"children":1475},{"className":1474},[],[1476],{"type":59,"value":1477},"display()",{"type":59,"value":1479}," or pandas ",{"type":46,"tag":86,"props":1481,"children":1483},{"className":1482},[],[1484],{"type":59,"value":1485},"describe()",{"type":46,"tag":1487,"props":1488,"children":1490},"h3",{"id":1489},"widgets-migration",[1491],{"type":59,"value":1492},"Widgets Migration",{"type":46,"tag":51,"props":1494,"children":1495},{},[1496,1501],{"type":46,"tag":86,"props":1497,"children":1499},{"className":1498},[],[1500],{"type":59,"value":141},{"type":59,"value":1502}," has no direct equivalent in Fabric. Use these patterns instead:",{"type":46,"tag":388,"props":1504,"children":1505},{},[1506,1522],{"type":46,"tag":392,"props":1507,"children":1508},{},[1509],{"type":46,"tag":396,"props":1510,"children":1511},{},[1512,1517],{"type":46,"tag":400,"props":1513,"children":1514},{},[1515],{"type":59,"value":1516},"Use Case",{"type":46,"tag":400,"props":1518,"children":1519},{},[1520],{"type":59,"value":1521},"Fabric Pattern",{"type":46,"tag":411,"props":1523,"children":1524},{},[1525,1553,1573,1593],{"type":46,"tag":396,"props":1526,"children":1527},{},[1528,1533],{"type":46,"tag":418,"props":1529,"children":1530},{},[1531],{"type":59,"value":1532},"Pass parameter from parent notebook",{"type":46,"tag":418,"props":1534,"children":1535},{},[1536,1538,1543,1545,1551],{"type":59,"value":1537},"Mark a cell in the child notebook as a ",{"type":46,"tag":55,"props":1539,"children":1540},{},[1541],{"type":59,"value":1542},"parameters cell",{"type":59,"value":1544}," (notebook UI: cell \"...\" menu → \"Mark cell as parameters\"). The parent calls ",{"type":46,"tag":86,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":59,"value":1550},"notebookutils.notebook.run(\"child\", arguments={\"param\": \"value\"})",{"type":59,"value":1552}," — at runtime the engine inserts a new cell beneath the parameters cell that overrides the defaults",{"type":46,"tag":396,"props":1554,"children":1555},{},[1556,1561],{"type":46,"tag":418,"props":1557,"children":1558},{},[1559],{"type":59,"value":1560},"Pipeline-driven parameterization",{"type":46,"tag":418,"props":1562,"children":1563},{},[1564,1566,1571],{"type":59,"value":1565},"Same parameters-cell mechanism; the Fabric Pipeline notebook activity supplies override values via its ",{"type":46,"tag":55,"props":1567,"children":1568},{},[1569],{"type":59,"value":1570},"Base parameters",{"type":59,"value":1572}," setting",{"type":46,"tag":396,"props":1574,"children":1575},{},[1576,1581],{"type":46,"tag":418,"props":1577,"children":1578},{},[1579],{"type":59,"value":1580},"Centralized cross-notebook config",{"type":46,"tag":418,"props":1582,"children":1583},{},[1584,1585,1591],{"type":59,"value":1471},{"type":46,"tag":86,"props":1586,"children":1588},{"className":1587},[],[1589],{"type":59,"value":1590},"notebookutils.variableLibrary.getLibrary(\"\u003Cname>\")",{"type":59,"value":1592}," to read values from a Variable Library item (deployment pipelines activate the right value set per stage)",{"type":46,"tag":396,"props":1594,"children":1595},{},[1596,1601],{"type":46,"tag":418,"props":1597,"children":1598},{},[1599],{"type":59,"value":1600},"Interactive selection in notebook",{"type":46,"tag":418,"props":1602,"children":1603},{},[1604,1605,1610],{"type":59,"value":1471},{"type":46,"tag":86,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":59,"value":1477},{"type":59,"value":1611}," with input cells, IPython widgets (Python only), or Fabric Data Activator",{"type":46,"tag":47,"props":1613,"children":1614},{},[1615],{"type":46,"tag":51,"props":1616,"children":1617},{},[1618,1620,1625,1627,1632,1634,1640],{"type":59,"value":1619},"Note: ",{"type":46,"tag":86,"props":1621,"children":1623},{"className":1622},[],[1624],{"type":59,"value":164},{"type":59,"value":1626}," does ",{"type":46,"tag":55,"props":1628,"children":1629},{},[1630],{"type":59,"value":1631},"not",{"type":59,"value":1633}," expose parameter values. It's for execution metadata (workspace\u002Fnotebook\u002Factivity\u002Fuser IDs, pipeline-vs-interactive flags, etc.). See ",{"type":46,"tag":311,"props":1635,"children":1637},{"href":1636},"resources\u002Fdbutils-to-notebookutils.md#runtime-context",[1638],{"type":59,"value":1639},"dbutils-to-notebookutils.md § Runtime Context",{"type":59,"value":376},{"type":46,"tag":378,"props":1642,"children":1643},{},[],{"type":46,"tag":293,"props":1645,"children":1647},{"id":1646},"cluster-config-fabric-spark-pools",[1648],{"type":59,"value":506},{"type":46,"tag":388,"props":1650,"children":1651},{},[1652,1672],{"type":46,"tag":392,"props":1653,"children":1654},{},[1655],{"type":46,"tag":396,"props":1656,"children":1657},{},[1658,1663,1668],{"type":46,"tag":400,"props":1659,"children":1660},{},[1661],{"type":59,"value":1662},"Databricks Cluster Concept",{"type":46,"tag":400,"props":1664,"children":1665},{},[1666],{"type":59,"value":1667},"Fabric Spark Equivalent",{"type":46,"tag":400,"props":1669,"children":1670},{},[1671],{"type":59,"value":666},{"type":46,"tag":411,"props":1673,"children":1674},{},[1675,1696,1719,1750,1775,1804,1832,1855],{"type":46,"tag":396,"props":1676,"children":1677},{},[1678,1683,1691],{"type":46,"tag":418,"props":1679,"children":1680},{},[1681],{"type":59,"value":1682},"All-purpose cluster (interactive)",{"type":46,"tag":418,"props":1684,"children":1685},{},[1686],{"type":46,"tag":55,"props":1687,"children":1688},{},[1689],{"type":59,"value":1690},"Starter Pool",{"type":46,"tag":418,"props":1692,"children":1693},{},[1694],{"type":59,"value":1695},"Auto-provisioned; no config; ideal for notebooks",{"type":46,"tag":396,"props":1697,"children":1698},{},[1699,1704,1714],{"type":46,"tag":418,"props":1700,"children":1701},{},[1702],{"type":59,"value":1703},"Job cluster (single-use for jobs)",{"type":46,"tag":418,"props":1705,"children":1706},{},[1707,1712],{"type":46,"tag":55,"props":1708,"children":1709},{},[1710],{"type":59,"value":1711},"Custom Pool",{"type":59,"value":1713}," (or Starter Pool) attached to SJD",{"type":46,"tag":418,"props":1715,"children":1716},{},[1717],{"type":59,"value":1718},"Configure node size, autoscale in Fabric capacity settings",{"type":46,"tag":396,"props":1720,"children":1721},{},[1722,1735,1745],{"type":46,"tag":418,"props":1723,"children":1724},{},[1725,1727,1733],{"type":59,"value":1726},"Node type (e.g., ",{"type":46,"tag":86,"props":1728,"children":1730},{"className":1729},[],[1731],{"type":59,"value":1732},"Standard_DS3_v2",{"type":59,"value":1734},")",{"type":46,"tag":418,"props":1736,"children":1737},{},[1738,1743],{"type":46,"tag":55,"props":1739,"children":1740},{},[1741],{"type":59,"value":1742},"Fabric node size",{"type":59,"value":1744}," (Small\u002FMedium\u002FLarge\u002FX-Large\u002FXX-Large)",{"type":46,"tag":418,"props":1746,"children":1747},{},[1748],{"type":59,"value":1749},"Map by vCore\u002Fmemory ratio",{"type":46,"tag":396,"props":1751,"children":1752},{},[1753,1758,1770],{"type":46,"tag":418,"props":1754,"children":1755},{},[1756],{"type":59,"value":1757},"Autoscale min\u002Fmax workers",{"type":46,"tag":418,"props":1759,"children":1760},{},[1761,1763,1768],{"type":59,"value":1762},"Custom Pool ",{"type":46,"tag":55,"props":1764,"children":1765},{},[1766],{"type":59,"value":1767},"min\u002Fmax node",{"type":59,"value":1769}," settings",{"type":46,"tag":418,"props":1771,"children":1772},{},[1773],{"type":59,"value":1774},"Available in workspace Spark settings",{"type":46,"tag":396,"props":1776,"children":1777},{},[1778,1789,1799],{"type":46,"tag":418,"props":1779,"children":1780},{},[1781,1787],{"type":46,"tag":86,"props":1782,"children":1784},{"className":1783},[],[1785],{"type":59,"value":1786},"spark.conf",{"type":59,"value":1788}," in cluster settings",{"type":46,"tag":418,"props":1790,"children":1791},{},[1792,1797],{"type":46,"tag":55,"props":1793,"children":1794},{},[1795],{"type":59,"value":1796},"Fabric Environment",{"type":59,"value":1798}," Spark properties",{"type":46,"tag":418,"props":1800,"children":1801},{},[1802],{"type":59,"value":1803},"Move to Environment item; attach to workspace or notebook",{"type":46,"tag":396,"props":1805,"children":1806},{},[1807,1818,1827],{"type":46,"tag":418,"props":1808,"children":1809},{},[1810,1816],{"type":46,"tag":86,"props":1811,"children":1813},{"className":1812},[],[1814],{"type":59,"value":1815},"init_scripts",{"type":59,"value":1817}," (cluster init)",{"type":46,"tag":418,"props":1819,"children":1820},{},[1821,1825],{"type":46,"tag":55,"props":1822,"children":1823},{},[1824],{"type":59,"value":1796},{"type":59,"value":1826}," install script",{"type":46,"tag":418,"props":1828,"children":1829},{},[1830],{"type":59,"value":1831},"Not fully equivalent — only library installs are supported",{"type":46,"tag":396,"props":1833,"children":1834},{},[1835,1840,1850],{"type":46,"tag":418,"props":1836,"children":1837},{},[1838],{"type":59,"value":1839},"Databricks Runtime version",{"type":46,"tag":418,"props":1841,"children":1842},{},[1843,1848],{"type":46,"tag":55,"props":1844,"children":1845},{},[1846],{"type":59,"value":1847},"Fabric Runtime",{"type":59,"value":1849}," (1.1 = Spark 3.3, 1.2 = Spark 3.4, 1.3 = Spark 3.5)",{"type":46,"tag":418,"props":1851,"children":1852},{},[1853],{"type":59,"value":1854},"Choose matching Spark version; test deprecated APIs",{"type":46,"tag":396,"props":1856,"children":1857},{},[1858,1863,1871],{"type":46,"tag":418,"props":1859,"children":1860},{},[1861],{"type":59,"value":1862},"Photon accelerator",{"type":46,"tag":418,"props":1864,"children":1865},{},[1866],{"type":46,"tag":55,"props":1867,"children":1868},{},[1869],{"type":59,"value":1870},"Fabric Native Execution Engine (NEE)",{"type":46,"tag":418,"props":1872,"children":1873},{},[1874],{"type":59,"value":1875},"Enable in workspace Spark settings; vectorized execution similar to Photon",{"type":46,"tag":378,"props":1877,"children":1878},{},[],{"type":46,"tag":293,"props":1880,"children":1882},{"id":1881},"databricks-jobs-spark-job-definitions",[1883],{"type":59,"value":523},{"type":46,"tag":388,"props":1885,"children":1886},{},[1887,1907],{"type":46,"tag":392,"props":1888,"children":1889},{},[1890],{"type":46,"tag":396,"props":1891,"children":1892},{},[1893,1898,1903],{"type":46,"tag":400,"props":1894,"children":1895},{},[1896],{"type":59,"value":1897},"Databricks Jobs Concept",{"type":46,"tag":400,"props":1899,"children":1900},{},[1901],{"type":59,"value":1902},"Fabric SJD Equivalent",{"type":46,"tag":400,"props":1904,"children":1905},{},[1906],{"type":59,"value":666},{"type":46,"tag":411,"props":1908,"children":1909},{},[1910,1933,1956,1977,2004,2025],{"type":46,"tag":396,"props":1911,"children":1912},{},[1913,1918,1928],{"type":46,"tag":418,"props":1914,"children":1915},{},[1916],{"type":59,"value":1917},"Job with single notebook task",{"type":46,"tag":418,"props":1919,"children":1920},{},[1921,1926],{"type":46,"tag":55,"props":1922,"children":1923},{},[1924],{"type":59,"value":1925},"SJD",{"type":59,"value":1927}," referencing a notebook",{"type":46,"tag":418,"props":1929,"children":1930},{},[1931],{"type":59,"value":1932},"Attach a default Lakehouse; pass parameters via SJD args",{"type":46,"tag":396,"props":1934,"children":1935},{},[1936,1941,1951],{"type":46,"tag":418,"props":1937,"children":1938},{},[1939],{"type":59,"value":1940},"Multi-task job (DAG of tasks)",{"type":46,"tag":418,"props":1942,"children":1943},{},[1944,1949],{"type":46,"tag":55,"props":1945,"children":1946},{},[1947],{"type":59,"value":1948},"Fabric Data Pipeline",{"type":59,"value":1950}," orchestrating multiple SJDs\u002Fnotebooks",{"type":46,"tag":418,"props":1952,"children":1953},{},[1954],{"type":59,"value":1955},"Pipeline activities map to job tasks; dependencies = activity dependencies",{"type":46,"tag":396,"props":1957,"children":1958},{},[1959,1964,1972],{"type":46,"tag":418,"props":1960,"children":1961},{},[1962],{"type":59,"value":1963},"Job schedule (cron)",{"type":46,"tag":418,"props":1965,"children":1966},{},[1967],{"type":46,"tag":55,"props":1968,"children":1969},{},[1970],{"type":59,"value":1971},"Pipeline schedule trigger",{"type":46,"tag":418,"props":1973,"children":1974},{},[1975],{"type":59,"value":1976},"Cron expression → recurrence trigger in pipeline",{"type":46,"tag":396,"props":1978,"children":1979},{},[1980,1985,1999],{"type":46,"tag":418,"props":1981,"children":1982},{},[1983],{"type":59,"value":1984},"Job parameters",{"type":46,"tag":418,"props":1986,"children":1987},{},[1988,1993,1994],{"type":46,"tag":55,"props":1989,"children":1990},{},[1991],{"type":59,"value":1992},"SJD default arguments",{"type":59,"value":826},{"type":46,"tag":55,"props":1995,"children":1996},{},[1997],{"type":59,"value":1998},"notebook cell parameters",{"type":46,"tag":418,"props":2000,"children":2001},{},[2002],{"type":59,"value":2003},"Parameters cell in notebook is injected at runtime",{"type":46,"tag":396,"props":2005,"children":2006},{},[2007,2012,2020],{"type":46,"tag":418,"props":2008,"children":2009},{},[2010],{"type":59,"value":2011},"Job clusters per task",{"type":46,"tag":418,"props":2013,"children":2014},{},[2015],{"type":46,"tag":55,"props":2016,"children":2017},{},[2018],{"type":59,"value":2019},"Pool attached to SJD",{"type":46,"tag":418,"props":2021,"children":2022},{},[2023],{"type":59,"value":2024},"Each SJD can specify its Spark pool independently",{"type":46,"tag":396,"props":2026,"children":2027},{},[2028,2033,2041],{"type":46,"tag":418,"props":2029,"children":2030},{},[2031],{"type":59,"value":2032},"Databricks Workflows",{"type":46,"tag":418,"props":2034,"children":2035},{},[2036],{"type":46,"tag":55,"props":2037,"children":2038},{},[2039],{"type":59,"value":2040},"Fabric Data Pipelines",{"type":46,"tag":418,"props":2042,"children":2043},{},[2044],{"type":59,"value":2045},"Full DAG orchestration with conditions, loops, and failure branches",{"type":46,"tag":47,"props":2047,"children":2048},{},[2049],{"type":46,"tag":51,"props":2050,"children":2051},{},[2052,2062],{"type":46,"tag":55,"props":2053,"children":2054},{},[2055,2057],{"type":59,"value":2056},"Delegate to ",{"type":46,"tag":86,"props":2058,"children":2060},{"className":2059},[],[2061],{"type":59,"value":366},{"type":59,"value":2063}," for SJD creation and notebook deployment.",{"type":46,"tag":378,"props":2065,"children":2066},{},[],{"type":46,"tag":293,"props":2068,"children":2070},{"id":2069},"delta-sharing-fabric-external-data-sharing-and-onelake-shortcuts",[2071],{"type":59,"value":540},{"type":46,"tag":388,"props":2073,"children":2074},{},[2075,2091],{"type":46,"tag":392,"props":2076,"children":2077},{},[2078],{"type":46,"tag":396,"props":2079,"children":2080},{},[2081,2086],{"type":46,"tag":400,"props":2082,"children":2083},{},[2084],{"type":59,"value":2085},"Databricks Delta Sharing Pattern",{"type":46,"tag":400,"props":2087,"children":2088},{},[2089],{"type":59,"value":2090},"Fabric Equivalent",{"type":46,"tag":411,"props":2092,"children":2093},{},[2094,2114,2134,2151],{"type":46,"tag":396,"props":2095,"children":2096},{},[2097,2102],{"type":46,"tag":418,"props":2098,"children":2099},{},[2100],{"type":59,"value":2101},"Provider publishes a Delta share",{"type":46,"tag":418,"props":2103,"children":2104},{},[2105,2107,2112],{"type":59,"value":2106},"Fabric ",{"type":46,"tag":55,"props":2108,"children":2109},{},[2110],{"type":59,"value":2111},"external data sharing",{"type":59,"value":2113}," for cross-tenant Fabric data, or a OneLake Shortcut to ADLS Gen2 where the Delta data resides",{"type":46,"tag":396,"props":2115,"children":2116},{},[2117,2122],{"type":46,"tag":418,"props":2118,"children":2119},{},[2120],{"type":59,"value":2121},"Recipient reads shared data",{"type":46,"tag":418,"props":2123,"children":2124},{},[2125,2127,2132],{"type":59,"value":2126},"Accept the external data share into a Lakehouse (Fabric creates a read-only OneLake Shortcut), or create a direct ",{"type":46,"tag":55,"props":2128,"children":2129},{},[2130],{"type":59,"value":2131},"OneLake Shortcut",{"type":59,"value":2133}," to accessible ADLS Gen2 data",{"type":46,"tag":396,"props":2135,"children":2136},{},[2137,2142],{"type":46,"tag":418,"props":2138,"children":2139},{},[2140],{"type":59,"value":2141},"Cross-workspace table sharing within org",{"type":46,"tag":418,"props":2143,"children":2144},{},[2145,2149],{"type":46,"tag":55,"props":2146,"children":2147},{},[2148],{"type":59,"value":884},{"type":59,"value":2150}," pointing to another workspace's Lakehouse tables — no data copy",{"type":46,"tag":396,"props":2152,"children":2153},{},[2154,2159],{"type":46,"tag":418,"props":2155,"children":2156},{},[2157],{"type":59,"value":2158},"Cross-tenant sharing",{"type":46,"tag":418,"props":2160,"children":2161},{},[2162,2163,2167],{"type":59,"value":2106},{"type":46,"tag":55,"props":2164,"children":2165},{},[2166],{"type":59,"value":2111},{"type":59,"value":2168}," — live, read-only, in-place access through a shortcut in the recipient tenant",{"type":46,"tag":51,"props":2170,"children":2171},{},[2172],{"type":59,"value":2173},"When producing a migration workload map, include both paths: direct OneLake Shortcuts for accessible ADLS or same-tenant OneLake data, and Fabric external data sharing for native cross-tenant recipient sharing.",{"type":46,"tag":378,"props":2175,"children":2176},{},[],{"type":46,"tag":293,"props":2178,"children":2180},{"id":2179},"mlflow-fabric-ml-experiments",[2181],{"type":59,"value":557},{"type":46,"tag":51,"props":2183,"children":2184},{},[2185],{"type":59,"value":2186},"Fabric ML Experiments are built on the MLflow SDK — most code is directly portable:",{"type":46,"tag":388,"props":2188,"children":2189},{},[2190,2210],{"type":46,"tag":392,"props":2191,"children":2192},{},[2193],{"type":46,"tag":396,"props":2194,"children":2195},{},[2196,2201,2205],{"type":46,"tag":400,"props":2197,"children":2198},{},[2199],{"type":59,"value":2200},"Databricks MLflow Pattern",{"type":46,"tag":400,"props":2202,"children":2203},{},[2204],{"type":59,"value":2090},{"type":46,"tag":400,"props":2206,"children":2207},{},[2208],{"type":59,"value":2209},"Migration Action",{"type":46,"tag":411,"props":2211,"children":2212},{},[2213,2235,2261,2292,2321,2350,2380],{"type":46,"tag":396,"props":2214,"children":2215},{},[2216,2225,2230],{"type":46,"tag":418,"props":2217,"children":2218},{},[2219],{"type":46,"tag":86,"props":2220,"children":2222},{"className":2221},[],[2223],{"type":59,"value":2224},"mlflow.set_tracking_uri(\"databricks\")",{"type":46,"tag":418,"props":2226,"children":2227},{},[2228],{"type":59,"value":2229},"Remove — Fabric tracking is automatic",{"type":46,"tag":418,"props":2231,"children":2232},{},[2233],{"type":59,"value":2234},"Delete this line in Fabric notebooks",{"type":46,"tag":396,"props":2236,"children":2237},{},[2238,2247,2256],{"type":46,"tag":418,"props":2239,"children":2240},{},[2241],{"type":46,"tag":86,"props":2242,"children":2244},{"className":2243},[],[2245],{"type":59,"value":2246},"mlflow.set_experiment(\"\u002Fpath\u002Fexp\")",{"type":46,"tag":418,"props":2248,"children":2249},{},[2250],{"type":46,"tag":86,"props":2251,"children":2253},{"className":2252},[],[2254],{"type":59,"value":2255},"mlflow.set_experiment(\"experiment_name\")",{"type":46,"tag":418,"props":2257,"children":2258},{},[2259],{"type":59,"value":2260},"Use name only (not path); Fabric creates the Experiment item",{"type":46,"tag":396,"props":2262,"children":2263},{},[2264,2273,2287],{"type":46,"tag":418,"props":2265,"children":2266},{},[2267],{"type":46,"tag":86,"props":2268,"children":2270},{"className":2269},[],[2271],{"type":59,"value":2272},"mlflow.log_metric(...)",{"type":46,"tag":418,"props":2274,"children":2275},{},[2276,2281,2282],{"type":46,"tag":86,"props":2277,"children":2279},{"className":2278},[],[2280],{"type":59,"value":2272},{"type":59,"value":329},{"type":46,"tag":55,"props":2283,"children":2284},{},[2285],{"type":59,"value":2286},"identical",{"type":46,"tag":418,"props":2288,"children":2289},{},[2290],{"type":59,"value":2291},"No change",{"type":46,"tag":396,"props":2293,"children":2294},{},[2295,2304,2317],{"type":46,"tag":418,"props":2296,"children":2297},{},[2298],{"type":46,"tag":86,"props":2299,"children":2301},{"className":2300},[],[2302],{"type":59,"value":2303},"mlflow.log_artifact(...)",{"type":46,"tag":418,"props":2305,"children":2306},{},[2307,2312,2313],{"type":46,"tag":86,"props":2308,"children":2310},{"className":2309},[],[2311],{"type":59,"value":2303},{"type":59,"value":329},{"type":46,"tag":55,"props":2314,"children":2315},{},[2316],{"type":59,"value":2286},{"type":46,"tag":418,"props":2318,"children":2319},{},[2320],{"type":59,"value":2291},{"type":46,"tag":396,"props":2322,"children":2323},{},[2324,2333,2346],{"type":46,"tag":418,"props":2325,"children":2326},{},[2327],{"type":46,"tag":86,"props":2328,"children":2330},{"className":2329},[],[2331],{"type":59,"value":2332},"mlflow.autolog()",{"type":46,"tag":418,"props":2334,"children":2335},{},[2336,2341,2342],{"type":46,"tag":86,"props":2337,"children":2339},{"className":2338},[],[2340],{"type":59,"value":2332},{"type":59,"value":329},{"type":46,"tag":55,"props":2343,"children":2344},{},[2345],{"type":59,"value":2286},{"type":46,"tag":418,"props":2347,"children":2348},{},[2349],{"type":59,"value":2291},{"type":46,"tag":396,"props":2351,"children":2352},{},[2353,2362,2375],{"type":46,"tag":418,"props":2354,"children":2355},{},[2356],{"type":46,"tag":86,"props":2357,"children":2359},{"className":2358},[],[2360],{"type":59,"value":2361},"mlflow.register_model(...)",{"type":46,"tag":418,"props":2363,"children":2364},{},[2365,2370,2371],{"type":46,"tag":86,"props":2366,"children":2368},{"className":2367},[],[2369],{"type":59,"value":2361},{"type":59,"value":329},{"type":46,"tag":55,"props":2372,"children":2373},{},[2374],{"type":59,"value":2286},{"type":46,"tag":418,"props":2376,"children":2377},{},[2378],{"type":59,"value":2379},"Model Registry is available in Fabric ML",{"type":46,"tag":396,"props":2381,"children":2382},{},[2383,2388,2402],{"type":46,"tag":418,"props":2384,"children":2385},{},[2386],{"type":59,"value":2387},"Databricks Model Serving",{"type":46,"tag":418,"props":2389,"children":2390},{},[2391,2396,2397],{"type":46,"tag":55,"props":2392,"children":2393},{},[2394],{"type":59,"value":2395},"Azure ML Online Endpoints",{"type":59,"value":826},{"type":46,"tag":55,"props":2398,"children":2399},{},[2400],{"type":59,"value":2401},"Fabric Data Activator",{"type":46,"tag":418,"props":2403,"children":2404},{},[2405],{"type":59,"value":2406},"No direct Fabric model serving yet — use Azure ML",{"type":46,"tag":378,"props":2408,"children":2409},{},[],{"type":46,"tag":293,"props":2411,"children":2413},{"id":2412},"must-prefer-avoid",[2414],{"type":59,"value":574},{"type":46,"tag":1487,"props":2416,"children":2418},{"id":2417},"must-do",[2419],{"type":59,"value":2420},"MUST DO",{"type":46,"tag":71,"props":2422,"children":2423},{},[2424,2434,2463,2531,2552,2589,2625,2653],{"type":46,"tag":75,"props":2425,"children":2426},{},[2427,2432],{"type":46,"tag":55,"props":2428,"children":2429},{},[2430],{"type":59,"value":2431},"Inventory before prescribing a workspace topology",{"type":59,"value":2433}," — for workspace-wide requests that omit workload inventory, dependencies, security requirements, data locations, or runtime constraints, ask focused clarifying questions and present conditional choices before selecting a Fabric design",{"type":46,"tag":75,"props":2435,"children":2436},{},[2437,2449,2451,2455,2456,2461],{"type":46,"tag":55,"props":2438,"children":2439},{},[2440,2442,2447],{"type":59,"value":2441},"Replace all ",{"type":46,"tag":86,"props":2443,"children":2445},{"className":2444},[],[2446],{"type":59,"value":274},{"type":59,"value":2448}," calls",{"type":59,"value":2450}," using the mapping in ",{"type":46,"tag":311,"props":2452,"children":2453},{"href":461},[2454],{"type":59,"value":464},{"type":59,"value":329},{"type":46,"tag":86,"props":2457,"children":2459},{"className":2458},[],[2460],{"type":59,"value":445},{"type":59,"value":2462}," is not available in Fabric notebooks",{"type":46,"tag":75,"props":2464,"children":2465},{},[2466,2485,2487,2492,2494,2499,2501,2505,2507,2513,2515,2521,2523,2529],{"type":46,"tag":55,"props":2467,"children":2468},{},[2469,2471,2477,2479],{"type":59,"value":2470},"Migrate ",{"type":46,"tag":86,"props":2472,"children":2474},{"className":2473},[],[2475],{"type":59,"value":2476},"dbutils.fs.mount()",{"type":59,"value":2478}," to ",{"type":46,"tag":86,"props":2480,"children":2482},{"className":2481},[],[2483],{"type":59,"value":2484},"notebookutils.fs.mount()",{"type":59,"value":2486}," (✅ supported — Microsoft Entra default, or ",{"type":46,"tag":86,"props":2488,"children":2490},{"className":2489},[],[2491],{"type":59,"value":1267},{"type":59,"value":2493}," \u002F ",{"type":46,"tag":86,"props":2495,"children":2497},{"className":2496},[],[2498],{"type":59,"value":1275},{"type":59,"value":2500}," from Key Vault). For cross-workspace or persistent sharing, prefer ",{"type":46,"tag":55,"props":2502,"children":2503},{},[2504],{"type":59,"value":884},{"type":59,"value":2506}," instead. Always pair ",{"type":46,"tag":86,"props":2508,"children":2510},{"className":2509},[],[2511],{"type":59,"value":2512},"mount()",{"type":59,"value":2514}," with ",{"type":46,"tag":86,"props":2516,"children":2518},{"className":2517},[],[2519],{"type":59,"value":2520},"unmount()",{"type":59,"value":2522}," in ",{"type":46,"tag":86,"props":2524,"children":2526},{"className":2525},[],[2527],{"type":59,"value":2528},"try\u002Ffinally",{"type":59,"value":2530}," — Fabric mounts are not released automatically on session end",{"type":46,"tag":75,"props":2532,"children":2533},{},[2534,2544,2545,2550],{"type":46,"tag":55,"props":2535,"children":2536},{},[2537,2539],{"type":59,"value":2538},"Replace ",{"type":46,"tag":86,"props":2540,"children":2542},{"className":2541},[],[2543],{"type":59,"value":1293},{"type":59,"value":2514},{"type":46,"tag":86,"props":2546,"children":2548},{"className":2547},[],[2549],{"type":59,"value":1302},{"type":59,"value":2551}," — secret scopes map to Azure Key Vault URLs",{"type":46,"tag":75,"props":2553,"children":2554},{},[2555,2560,2562,2567,2569,2575,2577,2582,2583,2587],{"type":46,"tag":55,"props":2556,"children":2557},{},[2558],{"type":59,"value":2559},"Redesign widget-based parameter passing",{"type":59,"value":2561}," using notebook ",{"type":46,"tag":55,"props":2563,"children":2564},{},[2565],{"type":59,"value":2566},"parameters cells",{"type":59,"value":2568}," (cell \"...\" menu → \"Mark cell as parameters\"); use ",{"type":46,"tag":86,"props":2570,"children":2572},{"className":2571},[],[2573],{"type":59,"value":2574},"notebookutils.variableLibrary",{"type":59,"value":2576}," for centralized cross-notebook config. ",{"type":46,"tag":86,"props":2578,"children":2580},{"className":2579},[],[2581],{"type":59,"value":164},{"type":59,"value":1626},{"type":46,"tag":55,"props":2584,"children":2585},{},[2586],{"type":59,"value":1631},{"type":59,"value":2588}," expose parameter values",{"type":46,"tag":75,"props":2590,"children":2591},{},[2592,2602,2604,2609,2611,2616,2618,2623],{"type":46,"tag":55,"props":2593,"children":2594},{},[2595,2596],{"type":59,"value":2538},{"type":46,"tag":86,"props":2597,"children":2599},{"className":2598},[],[2600],{"type":59,"value":2601},"dbutils.library.install*()",{"type":59,"value":2603}," with Fabric ",{"type":46,"tag":55,"props":2605,"children":2606},{},[2607],{"type":59,"value":2608},"Environments",{"type":59,"value":2610}," — runtime library installs are not supported in production. ",{"type":46,"tag":86,"props":2612,"children":2614},{"className":2613},[],[2615],{"type":59,"value":1438},{"type":59,"value":2617}," maps to ",{"type":46,"tag":86,"props":2619,"children":2621},{"className":2620},[],[2622],{"type":59,"value":1445},{"type":59,"value":2624}," (Python \u002F PySpark only)",{"type":46,"tag":75,"props":2626,"children":2627},{},[2628,2633,2635,2640,2642,2647,2649],{"type":46,"tag":55,"props":2629,"children":2630},{},[2631],{"type":59,"value":2632},"Adapt Unity Catalog 3-level namespaces",{"type":59,"value":2634}," (",{"type":46,"tag":86,"props":2636,"children":2638},{"className":2637},[],[2639],{"type":59,"value":248},{"type":59,"value":2641},") to Fabric 2-level (",{"type":46,"tag":86,"props":2643,"children":2645},{"className":2644},[],[2646],{"type":59,"value":256},{"type":59,"value":2648}," within a Lakehouse) — see ",{"type":46,"tag":311,"props":2650,"children":2651},{"href":478},[2652],{"type":59,"value":481},{"type":46,"tag":75,"props":2654,"children":2655},{},[2656,2661],{"type":46,"tag":55,"props":2657,"children":2658},{},[2659],{"type":59,"value":2660},"Map Databricks cluster init scripts",{"type":59,"value":2662}," to Fabric Environments — cluster-level library installs must move to Environment items",{"type":46,"tag":1487,"props":2664,"children":2666},{"id":2665},"prefer",[2667],{"type":59,"value":2668},"PREFER",{"type":46,"tag":71,"props":2670,"children":2671},{},[2672,2681,2690,2699,2715,2747],{"type":46,"tag":75,"props":2673,"children":2674},{},[2675,2679],{"type":46,"tag":55,"props":2676,"children":2677},{},[2678],{"type":59,"value":1870},{"type":59,"value":2680}," as the Photon equivalent — enable in workspace Spark settings for vectorized execution on Delta Lake",{"type":46,"tag":75,"props":2682,"children":2683},{},[2684,2688],{"type":46,"tag":55,"props":2685,"children":2686},{},[2687],{"type":59,"value":884},{"type":59,"value":2689}," over data copy for Delta tables that already exist in ADLS Gen2 — point directly without re-ingesting",{"type":46,"tag":75,"props":2691,"children":2692},{},[2693,2697],{"type":46,"tag":55,"props":2694,"children":2695},{},[2696],{"type":59,"value":769},{"type":59,"value":2698}," as the replacement for Databricks Repos — connect workspace to ADO or GitHub for notebook version control",{"type":46,"tag":75,"props":2700,"children":2701},{},[2702,2706,2708,2714],{"type":46,"tag":55,"props":2703,"children":2704},{},[2705],{"type":59,"value":855},{"type":59,"value":2707}," for direct MLflow continuity — tracking code requires minimal changes (remove ",{"type":46,"tag":86,"props":2709,"children":2711},{"className":2710},[],[2712],{"type":59,"value":2713},"set_tracking_uri",{"type":59,"value":1734},{"type":46,"tag":75,"props":2716,"children":2717},{},[2718,2723,2725,2731,2732,2738,2739,2745],{"type":46,"tag":55,"props":2719,"children":2720},{},[2721],{"type":59,"value":2722},"Medallion architecture",{"type":59,"value":2724}," when restructuring migrated Databricks catalogs — align ",{"type":46,"tag":86,"props":2726,"children":2728},{"className":2727},[],[2729],{"type":59,"value":2730},"bronze",{"type":59,"value":174},{"type":46,"tag":86,"props":2733,"children":2735},{"className":2734},[],[2736],{"type":59,"value":2737},"silver",{"type":59,"value":174},{"type":46,"tag":86,"props":2740,"children":2742},{"className":2741},[],[2743],{"type":59,"value":2744},"gold",{"type":59,"value":2746}," Unity Catalog schemas to separate Fabric Lakehouses",{"type":46,"tag":75,"props":2748,"children":2749},{},[2750,2754],{"type":46,"tag":55,"props":2751,"children":2752},{},[2753],{"type":59,"value":1690},{"type":59,"value":2755}," for migrating interactive notebook workflows — eliminates cluster startup time that was a common pain point in Databricks job clusters",{"type":46,"tag":1487,"props":2757,"children":2759},{"id":2758},"avoid",[2760],{"type":59,"value":2761},"AVOID",{"type":46,"tag":71,"props":2763,"children":2764},{},[2765,2775,2828,2865,2875,2893,2903,2921],{"type":46,"tag":75,"props":2766,"children":2767},{},[2768,2773],{"type":46,"tag":55,"props":2769,"children":2770},{},[2771],{"type":59,"value":2772},"Do not prescribe a one-size-fits-all workspace topology",{"type":59,"value":2774}," when the source inventory and migration constraints are missing",{"type":46,"tag":75,"props":2776,"children":2777},{},[2778,2798,2800,2806,2808,2813,2815,2821,2823],{"type":46,"tag":55,"props":2779,"children":2780},{},[2781,2783,2788,2790,2796],{"type":59,"value":2782},"Do not import ",{"type":46,"tag":86,"props":2784,"children":2786},{"className":2785},[],[2787],{"type":59,"value":445},{"type":59,"value":2789}," or attempt ",{"type":46,"tag":86,"props":2791,"children":2793},{"className":2792},[],[2794],{"type":59,"value":2795},"dbutils = ...",{"type":59,"value":2797}," assignments",{"type":59,"value":2799}," in Fabric notebooks — import attempts fail with ",{"type":46,"tag":86,"props":2801,"children":2803},{"className":2802},[],[2804],{"type":59,"value":2805},"ModuleNotFoundError",{"type":59,"value":2807},", while unresolved ",{"type":46,"tag":86,"props":2809,"children":2811},{"className":2810},[],[2812],{"type":59,"value":445},{"type":59,"value":2814}," references raise ",{"type":46,"tag":86,"props":2816,"children":2818},{"className":2817},[],[2819],{"type":59,"value":2820},"NameError",{"type":59,"value":2822},"; always use ",{"type":46,"tag":86,"props":2824,"children":2826},{"className":2825},[],[2827],{"type":59,"value":453},{"type":46,"tag":75,"props":2829,"children":2830},{},[2831,2843,2844,2849,2850,2856,2858,2863],{"type":46,"tag":55,"props":2832,"children":2833},{},[2834,2836,2841],{"type":59,"value":2835},"Do not retain ",{"type":46,"tag":86,"props":2837,"children":2839},{"className":2838},[],[2840],{"type":59,"value":274},{"type":59,"value":2842}," calls behind runtime-detection guards",{"type":59,"value":2634},{"type":46,"tag":86,"props":2845,"children":2847},{"className":2846},[],[2848],{"type":59,"value":282},{"type":59,"value":174},{"type":46,"tag":86,"props":2851,"children":2853},{"className":2852},[],[2854],{"type":59,"value":2855},"if IS_DATABRICKS",{"type":59,"value":2857},") — replace the calls and Databricks paths outright with ",{"type":46,"tag":86,"props":2859,"children":2861},{"className":2860},[],[2862],{"type":59,"value":453},{"type":59,"value":2864}," and Fabric paths",{"type":46,"tag":75,"props":2866,"children":2867},{},[2868,2873],{"type":46,"tag":55,"props":2869,"children":2870},{},[2871],{"type":59,"value":2872},"Do not assume Unity Catalog governance policies transfer automatically",{"type":59,"value":2874}," — RBAC, row-level security, and column masking must be reconfigured in Fabric using workspace roles and Lakehouse permissions",{"type":46,"tag":75,"props":2876,"children":2877},{},[2878,2891],{"type":46,"tag":55,"props":2879,"children":2880},{},[2881,2883,2889],{"type":59,"value":2882},"Do not use ",{"type":46,"tag":86,"props":2884,"children":2886},{"className":2885},[],[2887],{"type":59,"value":2888},"%pip install",{"type":59,"value":2890}," in production Fabric notebooks",{"type":59,"value":2892}," at runtime — use Fabric Environments for stable, versioned library management",{"type":46,"tag":75,"props":2894,"children":2895},{},[2896,2901],{"type":46,"tag":55,"props":2897,"children":2898},{},[2899],{"type":59,"value":2900},"Do not attempt to port Delta Live Tables (DLT) pipelines verbatim",{"type":59,"value":2902}," — DLT has no Fabric equivalent; rewrite as parameterized notebooks orchestrated by Fabric Pipelines",{"type":46,"tag":75,"props":2904,"children":2905},{},[2906,2911,2913,2919],{"type":46,"tag":55,"props":2907,"children":2908},{},[2909],{"type":59,"value":2910},"Do not rely on Databricks-specific Spark configurations",{"type":59,"value":2912}," (e.g., ",{"type":46,"tag":86,"props":2914,"children":2916},{"className":2915},[],[2917],{"type":59,"value":2918},"spark.databricks.*",{"type":59,"value":2920},") — these are proprietary and will be silently ignored or raise errors in Fabric",{"type":46,"tag":75,"props":2922,"children":2923},{},[2924,2929,2930,2936,2938,2944],{"type":46,"tag":55,"props":2925,"children":2926},{},[2927],{"type":59,"value":2928},"Do not use DBFS paths",{"type":59,"value":2634},{"type":46,"tag":86,"props":2931,"children":2933},{"className":2932},[],[2934],{"type":59,"value":2935},"dbfs:\u002F...",{"type":59,"value":2937},") — there is no DBFS in Fabric; all paths must use OneLake ",{"type":46,"tag":86,"props":2939,"children":2941},{"className":2940},[],[2942],{"type":59,"value":2943},"abfss:\u002F\u002F",{"type":59,"value":2945}," or Lakehouse-relative paths",{"type":46,"tag":378,"props":2947,"children":2948},{},[],{"type":46,"tag":293,"props":2950,"children":2952},{"id":2951},"examples",[2953],{"type":59,"value":2954},"Examples",{"type":46,"tag":51,"props":2956,"children":2957},{},[2958,2959,2963,2965,2969],{"type":59,"value":744},{"type":46,"tag":311,"props":2960,"children":2961},{"href":461},[2962],{"type":59,"value":464},{"type":59,"value":2964}," and ",{"type":46,"tag":311,"props":2966,"children":2967},{"href":495},[2968],{"type":59,"value":498},{"type":59,"value":2970}," for the full mapping. Key quick references:",{"type":46,"tag":51,"props":2972,"children":2973},{},[2974],{"type":46,"tag":55,"props":2975,"children":2976},{},[2977,2983,2984],{"type":46,"tag":86,"props":2978,"children":2980},{"className":2979},[],[2981],{"type":59,"value":2982},"dbutils.fs",{"type":59,"value":447},{"type":46,"tag":86,"props":2985,"children":2987},{"className":2986},[],[2988],{"type":59,"value":2989},"notebookutils.fs",{"type":46,"tag":2991,"props":2992,"children":2997},"pre",{"className":2993,"code":2994,"language":2995,"meta":2996,"style":2996},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Databricks\ndbutils.fs.ls(\"\u002Fmnt\u002Fbronze\u002Forders\u002F\")\ndbutils.fs.cp(\"\u002Fmnt\u002Fraw\u002Ffile.csv\", \"\u002Fmnt\u002Farchive\u002Ffile.csv\")\n\n# Fabric (replace DBFS\u002Fmount paths with OneLake relative paths)\nnotebookutils.fs.ls(\"Files\u002Fbronze\u002Forders\u002F\")\nnotebookutils.fs.cp(\"Files\u002Fraw\u002Ffile.csv\", \"Files\u002Farchive\u002Ffile.csv\")\n","python","",[2998],{"type":46,"tag":86,"props":2999,"children":3000},{"__ignoreMap":2996},[3001,3012,3021,3030,3040,3049,3058],{"type":46,"tag":3002,"props":3003,"children":3006},"span",{"class":3004,"line":3005},"line",1,[3007],{"type":46,"tag":3002,"props":3008,"children":3009},{},[3010],{"type":59,"value":3011},"# Databricks\n",{"type":46,"tag":3002,"props":3013,"children":3015},{"class":3004,"line":3014},2,[3016],{"type":46,"tag":3002,"props":3017,"children":3018},{},[3019],{"type":59,"value":3020},"dbutils.fs.ls(\"\u002Fmnt\u002Fbronze\u002Forders\u002F\")\n",{"type":46,"tag":3002,"props":3022,"children":3024},{"class":3004,"line":3023},3,[3025],{"type":46,"tag":3002,"props":3026,"children":3027},{},[3028],{"type":59,"value":3029},"dbutils.fs.cp(\"\u002Fmnt\u002Fraw\u002Ffile.csv\", \"\u002Fmnt\u002Farchive\u002Ffile.csv\")\n",{"type":46,"tag":3002,"props":3031,"children":3033},{"class":3004,"line":3032},4,[3034],{"type":46,"tag":3002,"props":3035,"children":3037},{"emptyLinePlaceholder":3036},true,[3038],{"type":59,"value":3039},"\n",{"type":46,"tag":3002,"props":3041,"children":3043},{"class":3004,"line":3042},5,[3044],{"type":46,"tag":3002,"props":3045,"children":3046},{},[3047],{"type":59,"value":3048},"# Fabric (replace DBFS\u002Fmount paths with OneLake relative paths)\n",{"type":46,"tag":3002,"props":3050,"children":3052},{"class":3004,"line":3051},6,[3053],{"type":46,"tag":3002,"props":3054,"children":3055},{},[3056],{"type":59,"value":3057},"notebookutils.fs.ls(\"Files\u002Fbronze\u002Forders\u002F\")\n",{"type":46,"tag":3002,"props":3059,"children":3061},{"class":3004,"line":3060},7,[3062],{"type":46,"tag":3002,"props":3063,"children":3064},{},[3065],{"type":59,"value":3066},"notebookutils.fs.cp(\"Files\u002Fraw\u002Ffile.csv\", \"Files\u002Farchive\u002Ffile.csv\")\n",{"type":46,"tag":51,"props":3068,"children":3069},{},[3070],{"type":46,"tag":55,"props":3071,"children":3072},{},[3073,3079,3080],{"type":46,"tag":86,"props":3074,"children":3076},{"className":3075},[],[3077],{"type":59,"value":3078},"dbutils.secrets",{"type":59,"value":447},{"type":46,"tag":86,"props":3081,"children":3083},{"className":3082},[],[3084],{"type":59,"value":3085},"notebookutils.credentials",{"type":46,"tag":2991,"props":3087,"children":3089},{"className":2993,"code":3088,"language":2995,"meta":2996,"style":2996},"# Databricks\npwd = dbutils.secrets.get(scope=\"prod\", key=\"db-password\")\n\n# Fabric (scope → Key Vault URL, key → secret name)\npwd = notebookutils.credentials.getSecret(\"https:\u002F\u002Fmyvault.vault.azure.net\u002F\", \"db-password\")\n",[3090],{"type":46,"tag":86,"props":3091,"children":3092},{"__ignoreMap":2996},[3093,3100,3108,3115,3123],{"type":46,"tag":3002,"props":3094,"children":3095},{"class":3004,"line":3005},[3096],{"type":46,"tag":3002,"props":3097,"children":3098},{},[3099],{"type":59,"value":3011},{"type":46,"tag":3002,"props":3101,"children":3102},{"class":3004,"line":3014},[3103],{"type":46,"tag":3002,"props":3104,"children":3105},{},[3106],{"type":59,"value":3107},"pwd = dbutils.secrets.get(scope=\"prod\", key=\"db-password\")\n",{"type":46,"tag":3002,"props":3109,"children":3110},{"class":3004,"line":3023},[3111],{"type":46,"tag":3002,"props":3112,"children":3113},{"emptyLinePlaceholder":3036},[3114],{"type":59,"value":3039},{"type":46,"tag":3002,"props":3116,"children":3117},{"class":3004,"line":3032},[3118],{"type":46,"tag":3002,"props":3119,"children":3120},{},[3121],{"type":59,"value":3122},"# Fabric (scope → Key Vault URL, key → secret name)\n",{"type":46,"tag":3002,"props":3124,"children":3125},{"class":3004,"line":3042},[3126],{"type":46,"tag":3002,"props":3127,"children":3128},{},[3129],{"type":59,"value":3130},"pwd = notebookutils.credentials.getSecret(\"https:\u002F\u002Fmyvault.vault.azure.net\u002F\", \"db-password\")\n",{"type":46,"tag":51,"props":3132,"children":3133},{},[3134],{"type":46,"tag":55,"props":3135,"children":3136},{},[3137],{"type":59,"value":3138},"Unity Catalog namespace → Lakehouse schema",{"type":46,"tag":2991,"props":3140,"children":3142},{"className":2993,"code":3141,"language":2995,"meta":2996,"style":2996},"# Databricks\ndf = spark.read.table(\"prod.silver.customers\")\n\n# Fabric (catalog dropped; Lakehouse context provides it)\ndf = spark.read.table(\"silver.customers\")\n",[3143],{"type":46,"tag":86,"props":3144,"children":3145},{"__ignoreMap":2996},[3146,3153,3161,3168,3176],{"type":46,"tag":3002,"props":3147,"children":3148},{"class":3004,"line":3005},[3149],{"type":46,"tag":3002,"props":3150,"children":3151},{},[3152],{"type":59,"value":3011},{"type":46,"tag":3002,"props":3154,"children":3155},{"class":3004,"line":3014},[3156],{"type":46,"tag":3002,"props":3157,"children":3158},{},[3159],{"type":59,"value":3160},"df = spark.read.table(\"prod.silver.customers\")\n",{"type":46,"tag":3002,"props":3162,"children":3163},{"class":3004,"line":3023},[3164],{"type":46,"tag":3002,"props":3165,"children":3166},{"emptyLinePlaceholder":3036},[3167],{"type":59,"value":3039},{"type":46,"tag":3002,"props":3169,"children":3170},{"class":3004,"line":3032},[3171],{"type":46,"tag":3002,"props":3172,"children":3173},{},[3174],{"type":59,"value":3175},"# Fabric (catalog dropped; Lakehouse context provides it)\n",{"type":46,"tag":3002,"props":3177,"children":3178},{"class":3004,"line":3042},[3179],{"type":46,"tag":3002,"props":3180,"children":3181},{},[3182],{"type":59,"value":3183},"df = spark.read.table(\"silver.customers\")\n",{"type":46,"tag":3185,"props":3186,"children":3187},"style",{},[3188],{"type":59,"value":3189},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3191,"total":3385},[3192,3214,3235,3256,3271,3287,3298,3311,3326,3341,3360,3373],{"slug":3193,"name":3193,"fn":3194,"description":3195,"org":3196,"tags":3197,"stars":3211,"repoUrl":3212,"updatedAt":3213},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3198,3201,3204,3205,3208],{"name":3199,"slug":3200,"type":15},"Engineering","engineering",{"name":3202,"slug":3203,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":3206,"slug":3207,"type":15},"Project Management","project-management",{"name":3209,"slug":3210,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":3215,"name":3215,"fn":3216,"description":3217,"org":3218,"tags":3219,"stars":3232,"repoUrl":3233,"updatedAt":3234},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3220,3223,3226,3229],{"name":3221,"slug":3222,"type":15},".NET","net",{"name":3224,"slug":3225,"type":15},"Agents","agents",{"name":3227,"slug":3228,"type":15},"Azure","azure",{"name":3230,"slug":3231,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":3236,"name":3236,"fn":3237,"description":3238,"org":3239,"tags":3240,"stars":3232,"repoUrl":3233,"updatedAt":3255},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3241,3244,3245,3248,3251,3252],{"name":3242,"slug":3243,"type":15},"Analytics","analytics",{"name":3227,"slug":3228,"type":15},{"name":3246,"slug":3247,"type":15},"Data Analysis","data-analysis",{"name":3249,"slug":3250,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":3253,"slug":3254,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":3257,"name":3257,"fn":3258,"description":3259,"org":3260,"tags":3261,"stars":3232,"repoUrl":3233,"updatedAt":3270},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3262,3265,3266,3267],{"name":3263,"slug":3264,"type":15},"AI Infrastructure","ai-infrastructure",{"name":3227,"slug":3228,"type":15},{"name":3249,"slug":3250,"type":15},{"name":3268,"slug":3269,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":3272,"name":3272,"fn":3273,"description":3274,"org":3275,"tags":3276,"stars":3232,"repoUrl":3233,"updatedAt":3286},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3277,3278,3281,3282,3283,3285],{"name":3227,"slug":3228,"type":15},{"name":3279,"slug":3280,"type":15},"Compliance","compliance",{"name":3230,"slug":3231,"type":15},{"name":9,"slug":8,"type":15},{"name":3284,"slug":2995,"type":15},"Python",{"name":3268,"slug":3269,"type":15},"2026-07-18T05:14:23.017504",{"slug":3288,"name":3288,"fn":3289,"description":3290,"org":3291,"tags":3292,"stars":3232,"repoUrl":3233,"updatedAt":3297},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3293,3294,3295,3296],{"name":3242,"slug":3243,"type":15},{"name":3227,"slug":3228,"type":15},{"name":3230,"slug":3231,"type":15},{"name":3284,"slug":2995,"type":15},"2026-07-31T05:54:29.068751",{"slug":3299,"name":3299,"fn":3300,"description":3301,"org":3302,"tags":3303,"stars":3232,"repoUrl":3233,"updatedAt":3310},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3304,3307,3308,3309],{"name":3305,"slug":3306,"type":15},"API Development","api-development",{"name":3227,"slug":3228,"type":15},{"name":9,"slug":8,"type":15},{"name":3284,"slug":2995,"type":15},"2026-07-18T05:14:16.988376",{"slug":3312,"name":3312,"fn":3313,"description":3314,"org":3315,"tags":3316,"stars":3232,"repoUrl":3233,"updatedAt":3325},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3317,3318,3321,3324],{"name":3227,"slug":3228,"type":15},{"name":3319,"slug":3320,"type":15},"Computer Vision","computer-vision",{"name":3322,"slug":3323,"type":15},"Images","images",{"name":3284,"slug":2995,"type":15},"2026-07-18T05:14:18.007737",{"slug":3327,"name":3327,"fn":3328,"description":3329,"org":3330,"tags":3331,"stars":3232,"repoUrl":3233,"updatedAt":3340},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3332,3333,3336,3339],{"name":3227,"slug":3228,"type":15},{"name":3334,"slug":3335,"type":15},"Configuration","configuration",{"name":3337,"slug":3338,"type":15},"Feature Flags","feature-flags",{"name":3249,"slug":3250,"type":15},"2026-07-03T16:32:01.278468",{"slug":3342,"name":3342,"fn":3343,"description":3344,"org":3345,"tags":3346,"stars":3232,"repoUrl":3233,"updatedAt":3359},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3347,3350,3353,3356],{"name":3348,"slug":3349,"type":15},"Cosmos DB","cosmos-db",{"name":3351,"slug":3352,"type":15},"Database","database",{"name":3354,"slug":3355,"type":15},"NoSQL","nosql",{"name":3357,"slug":3358,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":3361,"name":3361,"fn":3343,"description":3362,"org":3363,"tags":3364,"stars":3232,"repoUrl":3233,"updatedAt":3372},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3365,3366,3367,3368,3369],{"name":3348,"slug":3349,"type":15},{"name":3351,"slug":3352,"type":15},{"name":9,"slug":8,"type":15},{"name":3354,"slug":3355,"type":15},{"name":3370,"slug":3371,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":3374,"name":3374,"fn":3375,"description":3376,"org":3377,"tags":3378,"stars":3232,"repoUrl":3233,"updatedAt":3384},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3379,3380,3381,3382,3383],{"name":3227,"slug":3228,"type":15},{"name":3348,"slug":3349,"type":15},{"name":3351,"slug":3352,"type":15},{"name":3249,"slug":3250,"type":15},{"name":3354,"slug":3355,"type":15},"2026-05-13T06:14:17.582229",267,{"items":3387,"total":3481},[3388,3399,3408,3426,3442,3456,3470],{"slug":67,"name":67,"fn":3389,"description":3390,"org":3391,"tags":3392,"stars":29,"repoUrl":30,"updatedAt":3398},"check for Fabric skill marketplace updates","Check an installed skills-for-fabric plugin bundle or git clone for updates, show the matching changelog, and provide host-appropriate update guidance. Use when the user wants to: (1) check for skill updates, (2) see what changed, (3) verify the installed version. Triggers: \"check for updates\", \"am I up to date\", \"what version\", \"update skills\", \"show changelog\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3393,3394,3395],{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":3396,"slug":3397,"type":15},"Operations","operations","2026-07-24T05:41:25.892114",{"slug":4,"name":4,"fn":5,"description":6,"org":3400,"tags":3401,"stars":29,"repoUrl":30,"updatedAt":31},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3402,3403,3404,3405,3406,3407],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":18,"slug":19,"type":15},{"name":27,"slug":28,"type":15},{"slug":3409,"name":3409,"fn":3410,"description":3411,"org":3412,"tags":3413,"stars":29,"repoUrl":30,"updatedAt":3425},"dataflows-authoring-cli","manage Microsoft Fabric Dataflows via CLI","Create, update, delete, and refresh Fabric Dataflows Gen2 with write-side CLI via Fabric APIs. Build mashup.pq and queryMetadata.json, preview candidate M with executeQuery\u002FcustomMashupDocument, bind connections, and configure output destinations. For saved query execution or refresh-status reads, use `dataflows-consumption-cli`. If a request explicitly insists on the Dataflows consumption or read-only path for a mutation, do not route here; let consumption refuse before any separately confirmed authoring handoff. Triggers: \"create dataflow\", \"update dataflow\", \"delete dataflow\", \"trigger dataflow refresh\", \"preview Power Query M\", \"preview before save\", \"customMashupDocument\", \"create Fabric data source connection\", \"create SQL Server source REST\", \"POST \u002Fv1\u002Fconnections\", \"supportedConnectionTypes\", \"passwordReference\", \"bind connection\", \"dataflow output destination\", \"dataflow write to lakehouse\", \"dataflow write to warehouse\", \"dataflow write to ADX\", \"DataDestinations annotation\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3414,3417,3418,3421,3422],{"name":3415,"slug":3416,"type":15},"CLI","cli",{"name":13,"slug":14,"type":15},{"name":3419,"slug":3420,"type":15},"Data Pipeline","data-pipeline",{"name":24,"slug":25,"type":15},{"name":3423,"slug":3424,"type":15},"REST API","rest-api","2026-07-31T05:54:59.059517",{"slug":3427,"name":3427,"fn":3428,"description":3429,"org":3430,"tags":3431,"stars":29,"repoUrl":30,"updatedAt":3441},"e2e-medallion-architecture","implement Medallion Architecture in Microsoft Fabric","Plan and implement end-to-end Microsoft Fabric data platforms and Medallion Architecture (Bronze\u002FSilver\u002FGold) lakehouse patterns using PySpark, Delta Lake, Lakehouse\u002FWarehouse items, Fabric Pipelines, and semantic-model handoff. Use when the user wants to: (1) design a Bronze\u002FSilver\u002FGold data lakehouse, (2) plan an ingestion-to-semantic-model Fabric data platform, (3) set up multi-layer workspaces with lakehouses for each tier, (4) build ingestion-to-analytics pipelines with data quality enforcement, (5) orchestrate Bronze-to-Silver-to-Gold flows via notebooks. For natural-language business questions over existing Power BI report data, use `fabriciq`. Triggers: \"medallion architecture\", \"bronze silver gold\", \"lakehouse layers\", \"e2e data pipeline\", \"end-to-end lakehouse\", \"data lakehouse pattern\", \"multi-layer lakehouse\", \"build medallion\", \"setup medallion\", \"end-to-end Fabric data platform\", \"bronze silver gold platform\", \"ingestion semantic model platform\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3432,3435,3436,3437,3438],{"name":3433,"slug":3434,"type":15},"Architecture","architecture",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":3439,"slug":3440,"type":15},"PySpark","pyspark","2026-07-31T05:54:57.038396",{"slug":3443,"name":3443,"fn":3444,"description":3445,"org":3446,"tags":3447,"stars":29,"repoUrl":30,"updatedAt":3455},"eventhouse-authoring-cli","manage Fabric Eventhouse and KQL databases","Execute KQL management commands (table management, ingestion, policies, functions, materialized views) against Fabric Eventhouse and KQL Databases via CLI. Use when the user wants to:\n  1. Create or alter KQL tables, columns, or functions\n  2. Ingest data into an Eventhouse (inline, from storage, streaming)\n  3. Configure retention, caching, or partitioning policies\n  4. Create or manage materialized views and update policies\n  5. Manage data mappings for ingestion pipelines\n  6. Deploy KQL schema via scripts\nTriggers: \"create kql table\", \"kql ingestion\", \"ingest into eventhouse\", \"kql function\", \"materialized view\", \"kql retention policy\", \"eventhouse schema\", \"kql authoring\", \"create eventhouse table\", \"kql mapping\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3448,3449,3452,3453,3454],{"name":3351,"slug":3352,"type":15},{"name":3450,"slug":3451,"type":15},"KQL","kql",{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":3396,"slug":3397,"type":15},"2026-04-06T18:36:51.340409",{"slug":3457,"name":3457,"fn":3458,"description":3459,"org":3460,"tags":3461,"stars":29,"repoUrl":30,"updatedAt":3469},"eventhouse-consumption-cli","query Fabric Eventhouse with KQL","Run KQL queries against Fabric Eventhouse for real-time intelligence and time-series analytics using `az rest` against the Kusto REST API. Covers KQL operators (where, summarize, join, render), Eventhouse schema discovery (.show tables), time-series patterns with bin(), and ingestion monitoring. Use when the user wants to:\n  1. Run read-only KQL queries against an Eventhouse or KQL Database\n  2. Discover Eventhouse table schema and metadata\n  3. Analyse real-time or time-series data with KQL operators\n  4. Monitor ingestion health and active KQL queries\n  5. Export KQL results to JSON\nTriggers: \"kql query\", \"kusto query\", \"eventhouse query\", \"kql database\", \"real-time intelligence\", \"time-series kql\", \"query eventhouse\", \"explore eventhouse\", \"show tables kql\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3462,3463,3464,3465,3466],{"name":3242,"slug":3243,"type":15},{"name":3450,"slug":3451,"type":15},{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},{"name":3467,"slug":3468,"type":15},"Real-Time Intelligence","real-time-intelligence","2026-04-06T18:36:45.018807",{"slug":3471,"name":3471,"fn":3472,"description":3473,"org":3474,"tags":3475,"stars":29,"repoUrl":30,"updatedAt":3480},"eventstream-consumption-cli","monitor Fabric Eventstream ingestion pipelines","List, inspect, and monitor Fabric Eventstream real-time ingestion pipelines via the Items REST API. Discover Eventstreams across workspaces, decode base64 graph topologies tracing event flow from source through operators to destination nodes. Validate connection IDs, wiring, retention policies (1-90 days), and throughput levels. Retrieve Custom Endpoint Kafka credentials via Topology API. **Invoke this skill** to: (1) list Eventstreams, (2) inspect Eventstream topology showing sources and destinations, (3) validate Eventstream configurations, (4) check Eventstream retention policy and throughput level, (5) get connection strings. Triggers: \"list eventstreams\", \"inspect eventstream\", \"describe eventstream topology\", \"eventstream operator nodes\", \"eventstream sources and destinations\", \"eventstream health\", \"eventstream status\", \"eventstream configuration\", \"eventstream retention\", \"eventstream throughput level\", \"eventstream connection string\", \"custom endpoint credentials\", \"check eventstream\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3476,3477,3478,3479],{"name":3415,"slug":3416,"type":15},{"name":13,"slug":14,"type":15},{"name":24,"slug":25,"type":15},{"name":3253,"slug":3254,"type":15},"2026-07-31T05:55:03.045486",19]