بنقرة واحدة
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 ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
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
| 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)