Skip to main content

aidp-migrator-overview

Router skill. Read this first whenever the user mentions migrating a Databricks workload (notebooks, jobs, catalogs, schedules) onto Oracle AI Data Platform (AIDP). Lays out the toolkit, the two-pass migration architecture, and which of the other aidp-* skills handles each phase. Compose those skills; this one adds no API surface.

소스 정보

저장소
oracle-samples/oracle-aidp-samples
최근 소스 활동
2026년 6월 26일 15:51
감지된 SKILL.md 언어
영어
스타
47
포크
32

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
aidp-migrator-overview
description
Router skill. Read this first whenever the user mentions migrating a Databricks workload (notebooks, jobs, catalogs, schedules) onto Oracle AI Data Platform (AIDP). Lays out the toolkit, the two-pass migration architecture, and which of the other aidp-* skills handles each phase. Compose those skills; this one adds no API surface.
# `aidp-migrator-overview` — router Migrating a Databricks workload onto AIDP is a multi-phase operation. This skill picks the right next skill based on what the user asks. ## When to use - The user mentions "migrate Databricks", "port from Databricks to AIDP", "Unity Catalog migration", "DBX → AIDP", "lift-and-shift Databricks job", or similar. - The user asks "where do I start" with the migrator toolkit. - The user asks for an overview of the migrator architecture. ## The two-pass architecture (mental model) ``` ┌────────────────────┐ ┌──────────────────────┐ ┌─────────────────────┐ │ Pass-0: Plan │ → │ Pass-1: Dep code │ → │ Pass-2: Execute │ │ build_dag.py │ │ ensure_migrated() │ │ job_migrate.py │ │ check_data_ │ │ walks %run tree, │ │ cell-by-cell on a │ │ availability.py │ │ rewrites Databricks │ │ live AIDP cluster, │ │ │ │ APIs in each dep │ │ 4-way verify, up │ │ (read-only) │ │ notebook (no run) │ │ to 10 fix attempts │ └────────────────────┘ └──────────────────────┘ └─────────────────────┘ The catalog migration is a SEPARATE flow, run BEFORE Pass-2 (so the schemas + table locations exist when migrated notebooks try to read them): ┌──────────────────────────────────┐ ┌──────────────────────────────────┐ │ extract_catalog_databricks.py │ → │ migrate_catalog.py │ │ REST against Unity Catalog API │ │ 18 DDL rewrite rules → batched │ │ → reports/catalog_pack.json │ │ CREATE SCHEMA / CREATE TABLE │ │ │ │ on AIDP in a single WS execute │ └──────────────────────────────────┘ └──────────────────────────────────┘ ``` ## Pick the right skill for the user's ask | User says | Skill to invoke | |---|---| | "Migrate this Databricks job", "port this workflow", "convert to AIDP" | [`aidp-migrate-job`](../aidp-migrate-job/SKILL.md) | | "Build a migration manifest", "what would migrate", "show the DAG" | [`aidp-build-dag`](../aidp-build-dag/SKILL.md) | | "Are my source tables available?", "pre-migration check", "is the data ready" | [`aidp-check-data`](../aidp-check-data/SKILL.md) | | "Resume the migration", "skip already-migrated", "pick up where I left off" | [`aidp-resume-migration`](../aidp-resume-migration/SKILL.md) | | "Cell N is failing", "fix this notebook", "retry from cell K" | [`aidp-fixup-cell`](../aidp-fixup-cell/SKILL.md) | | "Migrate the Unity Catalog", "port the HMS schemas", "DDL migration" | [`aidp-migrate-catalog`](../aidp-migrate-catalog/SKILL.md) | | "Map s3 buckets to OCI", "configure bucket mapping" | [`aidp-bucket-mapping`](../aidp-bucket-mapping/SKILL.md) | | "Streaming convergence", "acceptance contract", "wait for pipeline to settle" | [`aidp-acceptance-contract`](../aidp-acceptance-contract/SKILL.md) | | First time using this toolkit, "what do I need to install" | [`aidp-migrator-bootstrap`](../aidp-migrator-bootstrap/SKILL.md) | ## What the user must have set up before any of this This plugin is **self-contained for Codex**. The OpenAI-based migrator engine is bundled under `engine/` and staged by the SessionStart hook to `~/.aidp-migrator/engine`. Before any skill in this plugin can do real work, the user needs: 1. **Bundled engine staged locally.** Start a new Codex thread after install, or run `python <plugin-root>/hooks/session_start.py` once. Skill [`aidp-migrator-bootstrap`](../aidp-migrator-bootstrap/SKILL.md) verifies this. 2. **`~/.oci/config`** with either an `api_key` profile (unattended) or session-token profile (interactive). 3. **An ACTIVE AIDP cluster.** The migrator's Pass-2 requires a live cluster — the WebSocket execute path. If the cluster is stopped, ask the user to start it via AIDP console before invoking [`aidp-migrate-job`](../aidp-migrate-job/SKILL.md). 4. **`OPENAI_API_KEY`** in the environment. The migrator uses OpenAI model with tool use for every cell rewrite. Without this key the Pass-2 loop won't run. 5. **An `env-coords.md` file** — see [references/env-coords.md](../../references/env-coords.md). The customer fills in their DataLake OCID, workspace UUID, cluster ID, AIDP base URL, OCI profile name once; every other skill threads these through. ## What this plugin does NOT do - It does not migrate Databricks `dbutils.fs` to OCI Object Storage *files* — only table/notebook/job constructs. File-level DBFS replication is a separate exercise. - It does not handle Databricks Workflows-on-Pipelines (DLT) — only Jobs + tasks. DLT pipelines need manual recreation as Spark structured streaming + scheduling. - It does not migrate Databricks ML feature-store registrations or MLflow model versions automatically. Those need separate handling. - It does not provision the AIDP cluster, workspace, or DataLake. Assume those exist. ## Key references - [`references/cli-map.md`](../../references/cli-map.md) — every migrator CLI entrypoint mapped to its purpose. - [`references/gotchas.md`](../../references/gotchas.md) — 15 Databricks → AIDP gotchas with fix recipes. - [`references/ddl-rewrite-rules.md`](../../references/ddl-rewrite-rules.md) — the 18 DDL rewrite rules. - [`references/env-coords.md`](../../references/env-coords.md) — the scaffold every skill threads from. ## Order of operations for a fresh migration 1. [`aidp-migrator-bootstrap`](../aidp-migrator-bootstrap/SKILL.md) — once per workstation. 2. [`aidp-migrate-catalog`](../aidp-migrate-catalog/SKILL.md) — schemas and tables FIRST, so notebook reads have targets. 3. [`aidp-bucket-mapping`](../aidp-bucket-mapping/SKILL.md) — only if migrating tables with `s3://` external locations. 4. [`aidp-build-dag`](../aidp-build-dag/SKILL.md) — produces `reports/<job>_manifest.json`. 5. [`aidp-check-data`](../aidp-check-data/SKILL.md) — verify before committing cluster time. 6. [`aidp-migrate-job`](../aidp-migrate-job/SKILL.md) — the big run. 7. [`aidp-fixup-cell`](../aidp-fixup-cell/SKILL.md) (only if needed) for cells the auto-fix loop couldn't recover. 8. [`aidp-acceptance-contract`](../aidp-acceptance-contract/SKILL.md) (for streaming / batch convergence pipelines).
GitHub에서 보기