Skip to main content

aidp-ingest-file-to-table

Load a data file (CSV/JSON/Parquet/etc.) into a managed AIDP Delta table. Use when the user wants to ingest a file into a table, create a table from a file, or land raw data in the lakehouse. Supports the 1-step path and the 3-step upload→infer→create path. Control-plane via the official `aidp` CLI.

Ir a la instalación

Datos de origen

Repositorio
oracle-samples/oracle-aidp-samples
Última actividad en el origen
12 de junio de 2026 a las 17:34
Idioma detectado de SKILL.md
inglés
Estrellas
47
Forks
32

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
aidp-ingest-file-to-table
description
Load a data file (CSV/JSON/Parquet/etc.) into a managed AIDP Delta table. Use when the user wants to ingest a file into a table, create a table from a file, or land raw data in the lakehouse. Supports the 1-step path and the 3-step upload→infer→create path. Control-plane via the official `aidp` CLI.
# `aidp-ingest-file-to-table` — file → managed Delta table Land a file into a managed AIDP table, either in one call or via the staged 3-step flow when you need to review/adjust the inferred schema. This is a **control-plane** flow on the DataLake `schema`/`tables` resource. **Primary engine: the official Oracle `aidp` CLI** (same REST API + auth); `oci raw-request` is the fallback when the CLI isn't installed. ## When to use - "Load this CSV/JSON into a table", "create a table from <file>", "ingest <file> into the lakehouse". ## CLI (preferred) Per [references/aidp-cli-map.md](../../references/aidp-cli-map.md): `schema generate-temp-file-upload-target` → `schema infer` / `infer-with-preview` → `schema create-data-table` / `create-table` (also `schema retrieve-par`). All commands take `--instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <r>`. ```bash # 3-step (control): stage → infer → create aidp schema generate-temp-file-upload-target --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region us-ashburn-1 # returns upload target / PAR (also: retrieve-par) aidp schema infer-with-preview --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region us-ashburn-1 # review columns/types/preview (or: infer) aidp schema create-data-table --body-file .aidp/payloads/create-data-table-<name>.json \ --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region us-ashburn-1 # or: create-table ``` **Mutating ops (`create-data-table`/`create-table`, upload):** persist the body to `.aidp/payloads/` and confirm with the user before running (see [references/payloads.md](../../references/payloads.md)). **Fallback (no CLI)** — same REST + auth via `oci raw-request` against `…/20240831/dataLakes/<OCID>/…` (auth ladder in [references/oci-raw-request.md](../../references/oci-raw-request.md)): `POST /tables/actions/uploadDataFile` (multipart/binary may need PAR upload — see `aidp-volumes`), `POST /tables/actions/inferSchema`, `POST /tables/actions/createTable` (with `catalogKey`, `schemaKey`, table name, finalized columns, source format, load options), verify `GET /tables?catalogKey=<cat>&schemaKey=<cat.schema>`. > **Verify-first (no-fabrication):** the upload/infer/create action shapes are **UNVERIFIED** in this env > (not yet in `references/rest-endpoint-map.md`). Confirm with a live probe (start with a > `GET /tables?catalogKey=…&schemaKey=…` 200 against the target schema) before any write; record results. > **Live-verified 2026-06-10 on de-agent (CSV → `de_ingest_test`, 3 rows) — correction:** the > `uploadDataFile` / `inferSchema` / `createTable` action names above are **WRONG**. The working flow is the > `schema`-resource 3-step: (1) `generate-temp-file-upload-target` returns a PAR + `ociFilePath`; (2) PUT the > file bytes to the PAR (HTTP 200); (3) `infer-with-preview` — its `location` MUST be the `ociFilePath` OCI > URI, **not** the `uploadKey` (passing `uploadKey` → 400); (4) `create-data-table` returns **202 + a > `datalake-async-operation-key`** (poll to `SUCCEEDED`). > **`create-data-table` is HEADERLESS/POSITIONAL:** `header=true` is ignored at create, so `tableFields` must > use the reader column names `_c0`/`_c1`/`_c2…` — naming them `id`/`name`/`amt` fails the async op with > `UNRESOLVED_COLUMN`. Rename afterward via `ALTER TABLE … RENAME COLUMN`. ## Workflow 1. Confirm the source file location (workspace path or volume) and the target `catalog.schema.table` (create the schema first if needed). 2. **1-step (simple):** `aidp schema create-table` referencing the source file, format, and options — fastest when the schema infers cleanly. 3. **3-step (control):** `generate-temp-file-upload-target` → `infer-with-preview` (review columns/types with the user; fix types/headers/delimiters) → `create-data-table` with the finalized columns. 4. Async: table creation may return `202` with an async-operation key — poll until terminal (async convention in `references/oci-raw-request.md`; track via `aidp-observability`). 5. Verify with `aidp schema list-tables` / `GET /tables?…`; report the fully-qualified table name and row/column summary. ## Gotchas (documented limits, no workaround) - **Delimited files: comma only** — auto-populate "Doesn't support delimiters other than comma" (platform reference §42 Known Issues #15). Pre-convert tab/pipe/semicolon-delimited files to CSV before ingest. - **No multi-line JSON for external tables** — "Can't create external tables with multi-line JSON" (platform reference §42 Known Issues #12). Use newline-delimited JSON (one record per line) for external tables. ## Notes - Big files: prefer landing into a volume / object storage and loading from there; mind cluster memory. - For continuous/streaming or external-source ingestion, use the spark-connectors plugin + `aidp-federate`, not this skill (this is file→table). - Clean up temporary tables created during validation. ## References - [references/aidp-cli-map.md](../../references/aidp-cli-map.md) · [references/payloads.md](../../references/payloads.md) · [references/oci-raw-request.md](../../references/oci-raw-request.md) · [references/rest-endpoint-map.md](../../references/rest-endpoint-map.md) - pairs with `aidp-workspace-files`, `aidp-volumes`, `aidp-profiling-tables`
Ver en GitHub