本文介绍如何使用 Databricks ODBC 驱动程序将 Azure Databricks 与 Python 或 R 语言连接。 建立连接后,可以从 Python 或 R 客户端访问 Azure Databricks 中的数据。 还可以使用客户端进一步分析数据。
必须具有 Azure Databricks 工作区、Spark 群集和与群集关联的示例数据。 如果尚不具备这些先决条件,请完成快速入门中的快速入门。
从 Databricks 驱动程序下载页下载 Databricks ODBC 驱动程序。 安装 64 位版本的驱动程序。
在 Databricks 中设置个人访问令牌。 有关说明,请参阅 令牌管理。
数据源名称(DSN)包含有关特定数据源的信息。 ODBC 驱动程序需要此 DSN 才能连接到数据源。 在本部分中,将设置可与 Databricks ODBC 驱动程序一起使用的 DSN,以便从 Python 或 R 等客户端连接到 Azure Databricks。
在 Azure Databricks 工作区中,导航到 Databricks 群集。
在 “配置 ”选项卡下,单击 “JDBC/ODBC ”选项卡,并复制 服务器主机名 和 HTTP 路径的值。 需要这些值才能完成本文中的步骤。
在计算机上,启动 ODBC 数据源 应用程序 64 位。
在“ 用户 DSN ”选项卡下,单击“ 添加”。 在“ 新建数据源 ”对话框中,选择 Simba Spark ODBC 驱动程序,然后单击“ 完成”。
在 Simba Spark ODBC 驱动程序 对话框中,提供以下值:
下表提供有关对话框中要提供的值的信息。
领域 价值 数据源名称 提供数据源的名称。 主机 请提供从 Databricks 工作区复制的服务器主机名的值。 港口 输入 443。 认证>机制 选择 用户名和密码。 用户名 输入令牌。 密码 输入从 Databricks 工作区复制的令牌值。 在 DSN 安装对话框中执行以下附加步骤。
- 单击“HTTP 选项”。 在打开的对话框中,粘贴从 Databricks 工作区复制的 HTTP 路径 的值。 单击“ 确定”。
- 单击“SSL 选项”。 在打开的对话框中,选中“启用 SSL”复选框。 单击“ 确定”。
- 单击“ 测试 ”以测试与 Azure Databricks 的连接。 单击“ 确定 ”保存配置。
- 在 “ODBC 数据源管理员 ”对话框中,单击“ 确定”。
现在,你的 DSN 已设置好。 在接下来的章节中,你将使用此 DSN 从 Python 或 R 连接到 Azure Databricks。
备注
本部分介绍如何将桌面上运行的 R Studio 客户端与 Azure Databricks 集成。 有关如何在 Azure Databricks 群集本身上使用 R Studio 的说明,请参阅 Azure Databricks 上的 R Studio。
在本部分中,你将使用 R 语言 IDE 引用 Azure Databricks 中提供的数据。 在开始之前,必须在计算机上安装以下内容。
- R 语言的 IDE。 本文使用 RStudio for Desktop。 可以从 R Studio 下载安装它。
- 如果使用 RStudio for Desktop 作为 IDE,请从 https://aka.ms/rclient/安装 Microsoft R 客户端。
打开 RStudio 并执行以下步骤:
引用
RODBC
包。 这使你能够使用之前创建的 DSN 连接到 Azure Databricks。使用 DSN 建立连接。
对 Azure Databricks 中的数据运行 SQL 查询。 在以下代码片段中, radio_sample_data 是 Azure Databricks 中已存在的表。
对查询执行一些操作以验证输出。
以下代码片段执行以下任务:
# reference the 'RODBC' package
require(RODBC)
# establish a connection using the DSN you created earlier
conn <- odbcConnect("<ENTER DSN NAME HERE>")
# run a SQL query using the connection you created
res <- sqlQuery(conn, "SELECT * FROM radio_sample_data")
# print out the column names in the query output
names(res)
# print out the number of rows in the query output
nrow (res)
在本部分中,你将使用 Python IDE(如 IDLE)来引用 Azure Databricks 中可用的数据。 在开始之前,请完成以下先决条件:
从此处安装 Python。 利用此链接安装 Python 也会安装 IDLE。
在计算机上的命令提示符下,安装
pyodbc
包。 运行下面的命令:pip install pyodbc
打开 IDLE 并执行以下步骤:
导入
pyodbc
包。 这使你能够使用之前创建的 DSN 连接到 Azure Databricks。使用之前创建的 DSN 建立连接。
使用创建的连接运行 SQL 查询。 在以下代码片段中, radio_sample_data 是 Azure Databricks 中已存在的表。
对查询执行操作以验证输出。
以下代码片段执行以下任务:
# import the `pyodbc` package:
import pyodbc
# establish a connection using the DSN you created earlier
conn = pyodbc.connect("DSN=<ENTER DSN NAME HERE>", autocommit=True)
# run a SQL query using the connection you created
cursor = conn.cursor()
cursor.execute("SELECT * FROM radio_sample_data")
# print the rows retrieved by the query.
for row in cursor.fetchall():
print(row)
- 若要了解从何处将数据导入 Azure Databricks 的源,请参阅 Azure Databricks 的数据源。