원클릭으로
data-catalog
Use when working with data collections, dataset metadata, tags, meanings, or AI-generated descriptions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when working with data collections, dataset metadata, tags, meanings, or AI-generated descriptions
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Use when creating, configuring, or running any Dataiku recipe (prepare, join, group, sync, python) including data cleaning, formulas, and GREL
Use when creating datasets, uploading files, managing schemas, or configuring dataset connections
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
SOC 직업 분류 기준
| name | data-catalog |
| description | Use when working with data collections, dataset metadata, tags, meanings, or AI-generated descriptions |
Reference patterns for managing the Dataiku data catalog via the Python API.
| Concept | What it is | Scope |
|---|---|---|
| Data Collection | A curated group of datasets, visible across projects | Instance-level (client) |
| Metadata | Label, description, tags, checklists, custom key-value pairs | Per dataset or project |
| Meaning | A semantic type for columns (e.g., "Email", "Country Code") | Instance-level (client) |
| Tags | Freeform labels on datasets or projects | Per dataset or project |
collections = client.list_data_collections(as_type="dict")
for c in collections:
print(f"{c['displayName']} ({c['id']}) — {c['itemCount']} items")
dc = client.create_data_collection(
displayName="Customer Data",
description="All customer-related datasets",
tags=["customers", "production"]
)
dc = client.get_data_collection("collection_id")
# Add by dataset handle
ds = project.get_dataset("MY_DATASET")
dc.add_object(ds)
# Add by dict (for cross-project datasets)
dc.add_object({"type": "DATASET", "projectKey": "PROJECT_A", "id": "DATASET_NAME"})
dc = client.get_data_collection("collection_id")
objects = dc.list_objects()
for obj in objects:
raw = obj.get_raw()
print(f" {raw['projectKey']}.{raw['id']}")
# Get as a dataset handle
ds = obj.get_as_dataset()
# Remove from collection
obj.remove()
dc = client.get_data_collection("collection_id")
settings = dc.get_settings()
settings.display_name = "Renamed Collection"
settings.description = "Updated description"
settings.tags = ["new-tag", "production"]
settings.save()
ds = project.get_dataset("MY_DATASET")
metadata = ds.get_metadata()
# Metadata structure:
# {
# "label": "...",
# "description": "...",
# "tags": ["tag1", "tag2"],
# "checklists": {"checklists": [...]},
# "custom": {"kv": {"key1": "value1"}}
# }
metadata["tags"] = ["cleaned", "production"]
metadata["custom"]["kv"]["owner"] = "data-team"
ds.set_metadata(metadata)
# Generate descriptions for dataset and columns (requires AI Services enabled)
result = ds.generate_ai_description(language="english", save_description=True)
Rate-limited: 1000 requests/day, then throttled to ~60s per call.
# List existing meanings
meanings = client.list_meanings()
# Create a values-list meaning
client.create_meaning(
id="country_code",
label="Country Code",
type="VALUES_LIST",
values=["US", "UK", "FR", "DE", "JP"],
normalizationMode="EXACT",
detectable=True
)
# Create a pattern-based meaning
client.create_meaning(
id="email_address",
label="Email Address",
type="PATTERN",
pattern=r"^[\w.-]+@[\w.-]+\.\w+$",
detectable=True
)
meaning = client.get_meaning("country_code")
definition = meaning.get_definition()
definition["entries"].append({"value": "CA"})
meaning.set_definition(definition)
Trigger re-indexing of connections so new tables appear in the catalog:
# Index specific connections
client.catalog_index_connections(connection_names=["my_snowflake", "my_postgres"])
# Index all connections
client.catalog_index_connections(all_connections=True)