بنقرة واحدة
dataset-management
Use when creating datasets, uploading files, managing schemas, or configuring dataset connections
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when creating datasets, uploading files, managing schemas, or configuring dataset connections
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when creating, configuring, or running any Dataiku recipe (prepare, join, group, sync, python) including data cleaning, formulas, and GREL
Use when working with data collections, dataset metadata, tags, meanings, or AI-generated descriptions
Use when building datasets, running multi-step pipelines, managing dependencies, or orchestrating recipe execution order
Use when training prediction models, extracting metrics, configuring algorithms, or deploying models
Use when debugging failed jobs, diagnosing errors, or resolving common Dataiku issues
| name | dataset-management |
| description | Use when creating datasets, uploading files, managing schemas, or configuring dataset connections |
Reference patterns for creating and managing Dataiku datasets via the Python API.
| Type | Use When | Creation Method |
|---|---|---|
| Managed | Output of recipes, stored in a connection (SQL, HDFS, etc.) | project.new_managed_dataset(name) |
| Uploaded | Importing local files (CSV, Excel, etc.) | project.create_upload_dataset(name) or project.create_dataset(name, "UploadedFiles", ...) |
| SQL Table | Pointing to an existing database table | project.create_dataset(name, "Snowflake", ...) |
builder = project.new_managed_dataset("MY_OUTPUT")
builder.with_store_into("connection_name")
ds = builder.create()
# Configure table location (SQL databases)
settings = ds.get_settings()
raw = settings.get_raw()
raw["params"]["schema"] = "MY_SCHEMA"
raw["params"]["table"] = "MY_OUTPUT"
settings.save()
ds = project.create_dataset(
"my_dataset", "UploadedFiles",
params={"uploadConnection": "filesystem_managed"}
)
with open("path/to/data.csv", "rb") as f:
ds.uploaded_add_file(f, "data.csv")
# Auto-detect schema from file contents
settings = ds.autodetect_settings(infer_storage_types=True)
settings.save()
Simpler alternative: Use create_upload_dataset to skip the manual params configuration:
ds = project.create_upload_dataset("my_dataset")
with open("path/to/data.csv", "rb") as f:
ds.uploaded_add_file(f, "data.csv")
| Dataiku Type | Description |
|---|---|
string | Text |
int / bigint | Integer / Large integer |
double / float | Decimal numbers |
boolean | True/False |
date | Date only |
See references/column-types.md for the full type table.
ds = project.get_dataset("my_dataset")
schema = ds.get_settings().get_schema()
for col in schema["columns"]:
print(f"{col['name']}: {col['type']}")
settings = ds.get_settings()
settings.set_schema({"columns": [
{"name": "id", "type": "string"},
{"name": "amount", "type": "double"},
]})
settings.save()
settings = dataset.autodetect_settings()
settings.save()
Note:
autodetect_settings()is a method onDSSDataset, not onDSSDatasetSettings. It returns a new settings object with the detected schema applied.
See references/schema-operations.md for join compatibility checks, helper functions, and advanced operations.
Output datasets for SQL-based recipes MUST have schemas set before building. Without this, Dataiku generates CREATE TABLE () ... which fails.
For SQL databases (Snowflake, BigQuery), use UPPERCASE column names. Lowercase names get quoted, causing "invalid identifier" errors.
# Normalize column names to uppercase for SQL
raw = settings.get_raw()
for col in raw.get("schema", {}).get("columns", []):
col["name"] = col["name"].upper()
settings.save()
datasets = project.list_datasets()
for ds in datasets:
print(f"- {ds['name']} ({ds.get('type', 'unknown')})")
| Issue | Cause | Solution |
|---|---|---|
| Schema mismatch | Recipe output doesn't match | Run autodetect_settings() |
| Join fails | Key type mismatch | Check types, cast if needed |
| Missing columns | Schema not updated | Rebuild dataset, update schema |
| Parse errors | Wrong type detection | Manually set schema |