跳转到主要内容

DatabricksQueryTool

描述

通过 CLI 配置文件或直接主机/令牌认证对 Databricks 工作区表运行 SQL。

安装

uv add crewai-tools[databricks-sdk]

环境变量

  • DATABRICKS_CONFIG_PROFILE 或 (DATABRICKS_HOST + DATABRICKS_TOKEN)
在 Databricks 工作区中,通过“用户设置”→“开发人员”创建个人访问令牌并查找主机详细信息。文档:https://docs.databricks.com/en/dev-tools/auth/pat.html

示例

代码
from crewai import Agent, Task, Crew
from crewai_tools import DatabricksQueryTool

tool = DatabricksQueryTool(
    default_catalog="main", 
    default_schema="default",
)

agent = Agent(
    role="Data Analyst",
    goal="Query Databricks",
    tools=[tool],
    verbose=True,
)

task = Task(
    description="SELECT * FROM my_table LIMIT 10",
    expected_output="10 rows", 
    agent=agent,
)

crew = Crew(
    agents=[agent], 
    tasks=[task],
    verbose=True,
)
result = crew.kickoff()

print(result)

参数

  • query (必填):要执行的 SQL 查询
  • catalog (可选):覆盖默认目录
  • db_schema (可选):覆盖默认模式
  • warehouse_id (可选):覆盖默认 SQL 仓库
  • row_limit (可选):返回的最大行数(默认值:1000)

初始化时的默认值

  • default_catalog
  • default_schema
  • default_warehouse_id

错误处理与提示

  • 认证错误:验证 DATABRICKS_HOST 是否以 https:// 开头且令牌有效。
  • 权限:确保您的 SQL 仓库和模式可由您的令牌访问。
  • 限制:代理循环中应避免长时间运行的查询;添加过滤器/限制。