如何用Python脚本创建Databricks SQL Query对象及相关执行方案
1. 通过Python脚本创建Databricks SQL Query对象并存储到工作区
可以实现,推荐使用Databricks官方Python SDK databricks-sdk 来完成,步骤如下:
- 首先安装SDK:
pip install databricks-sdk - 配置认证(可通过环境变量、本地配置文件,或直接传入Databricks实例地址与个人访问令牌)
- 编写代码创建Query对象并存储到指定工作区路径:
from databricks.sdk import WorkspaceClient from databricks.sdk.service.sql import QueryCreate, QueryLanguage # 初始化Workspace客户端 w = WorkspaceClient(host="YOUR_DATABRICKS_HOST", token="YOUR_DATABRICKS_TOKEN") # 创建并保存Query到工作区 created_query = w.queries.create( name="订单数据统计查询", description="通过Python脚本创建的业务查询", language=QueryLanguage.SQL, query_text="SELECT order_date, COUNT(*) AS order_count FROM main.orders GROUP BY order_date", warehouse_id="YOUR_SQL_WAREHOUSE_ID", parent_path="/Workspace/Users/your_email@domain.com/SQL_Queries" ) print(f"Query创建完成,ID: {created_query.id},工作区路径: {created_query.path}") - 注意:执行脚本的账号需要具备
sql_query_editor权限,以及目标工作区路径的修改权限。
2. 工作流SQL任务(文件类型)不依赖Git,直接执行工作区SQL文件并仅用SQL Warehouse
完全支持,配置步骤如下:
- 在Databricks工作流中新建SQL任务,选择文件作为任务类型
- 在文件路径输入框中,直接填写工作区内SQL文件的完整路径(例如
/Workspace/Users/your_email@domain.com/Scripts/sales_report.sql) - 在任务的「计算资源」配置项中,选择已创建的SQL Warehouse作为执行载体,无需配置集群
- 注意:任务执行的服务主体需要具备读取目标SQL文件的权限,且SQL文件内的语法需符合SQL Warehouse支持的规范。
内容的提问来源于stack exchange,提问作者JKR
相关产品推荐
相关产品推荐

