You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure DataBricks中SQL查询结果转换为Pandas DataFrame

Azure Databricks SQL查询转Pandas DataFrame 实现方案

场景1:在Azure Databricks Notebook内运行

你可以直接利用Databricks内置的PySpark能力封装调用,完全符合你要的调用逻辑:

  • 最简写法
# 执行SQL后直接转成Pandas DataFrame
data = spark.sql("select * from table").toPandas()
  • 封装成你要的调用形式
def select(sql_stmt):
    return spark.sql(sql_stmt).toPandas()

# 调用效果完全匹配你的需求
data = select("select * from table")

场景2:外部环境通过Databricks URL远程访问

如果是在Databricks以外的环境访问,需要用官方SQL连接器实现:

  • 第一步:安装依赖
    pip install databricks-sql-connector pandas
  • 第二步:封装调用函数,替换成你自己的Databricks连接参数即可
from databricks import sql
import pandas as pd

# 替换为你的实际配置
DATABRICKS_HOST = "你的工作区域名(去掉https://前缀)"
ACCESS_TOKEN = "你的Databricks个人访问令牌"
SQL_WAREHOUSE_HTTP_PATH = "SQL仓库的HTTP路径"
USE_CATALOG = "目标catalog名称"
USE_SCHEMA = "目标schema名称"

def select(sql_stmt):
    with sql.connect(
        server_hostname=DATABRICKS_HOST,
        http_path=SQL_WAREHOUSE_HTTP_PATH,
        access_token=ACCESS_TOKEN,
        catalog=USE_CATALOG,
        schema=USE_SCHEMA
    ) as conn:
        return pd.read_sql(sql_stmt, conn)

# 直接执行获取Pandas DataFrame
data = select("select * from table")

注意:如果查询结果数据量较大,建议先在SQL侧做过滤、聚合处理后再拉取到本地,避免内存不足。

内容的提问来源于stack exchange,提问作者Lama énervé

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 21:51:00