AgentSkillsCN

databricks-genie

创建并查询 Databricks Genie Spaces,以实现自然语言 SQL 探索。当您构建 Genie Spaces,或通过 Genie Conversation API 提出问题时,可选用此方案。

SKILL.md
--- frontmatter
name: databricks-genie
description: "Create and query Databricks Genie Spaces for natural language SQL exploration. Use when building Genie Spaces or asking questions via the Genie Conversation API."

Databricks Genie

Create and query Databricks Genie Spaces - natural language interfaces for SQL-based data exploration.

Overview

Genie Spaces allow users to ask natural language questions about structured data in Unity Catalog. The system translates questions into SQL queries, executes them on a SQL warehouse, and presents results conversationally.

When to Use This Skill

Use this skill when:

  • Creating a new Genie Space for data exploration
  • Adding sample questions to guide users
  • Connecting Unity Catalog tables to a conversational interface
  • Asking questions to a Genie Space programmatically (Conversation API)

MCP Tools

Space Management

ToolPurpose
list_genieList all Genie Spaces accessible to you
create_or_update_genieCreate or update a Genie Space
get_genieGet Genie Space details
delete_genieDelete a Genie Space

Conversation API

ToolPurpose
ask_genieAsk a question to a Genie Space, get SQL + results
ask_genie_followupAsk follow-up question in existing conversation

Supporting Tools

ToolPurpose
get_table_detailsInspect table schemas before creating a space
execute_sqlTest SQL queries directly

Quick Start

1. Inspect Your Tables

Before creating a Genie Space, understand your data:

python
get_table_details(
    catalog="my_catalog",
    schema="sales",
    table_stat_level="SIMPLE"
)

2. Create the Genie Space

python
create_or_update_genie(
    display_name="Sales Analytics",
    table_identifiers=[
        "my_catalog.sales.customers",
        "my_catalog.sales.orders"
    ],
    description="Explore sales data with natural language",
    sample_questions=[
        "What were total sales last month?",
        "Who are our top 10 customers?"
    ]
)

3. Ask Questions (Conversation API)

python
ask_genie(
    space_id="your_space_id",
    question="What were total sales last month?"
)
# Returns: SQL, columns, data, row_count

Workflow

code
1. Inspect tables    → get_table_details
2. Create space      → create_or_update_genie
3. Query space       → ask_genie (or test in Databricks UI)
4. Curate (optional) → Use Databricks UI to add instructions

Reference Files

Prerequisites

Before creating a Genie Space:

  1. Tables in Unity Catalog - Bronze/silver/gold tables with the data
  2. SQL Warehouse - A warehouse to execute queries (auto-detected if not specified)

Creating Tables

Use these skills in sequence:

  1. synthetic-data-generation - Generate raw parquet files
  2. spark-declarative-pipelines - Create bronze/silver/gold tables

Common Issues

IssueSolution
No warehouse availableCreate a SQL warehouse or provide warehouse_id explicitly
Poor query generationAdd instructions and sample questions that reference actual column names
Slow queriesEnsure warehouse is running; use OPTIMIZE on tables