從 Python 或 R 連線到 Azure Databricks
在本文中,您將瞭解如何使用 Databricks ODBC 驅動程式來連接 Azure Databricks 與 Python 或 R 語言。 建立連線之後,您就可以從 Python 或 R 用戶端存取 Azure Databricks 中的數據。 您也可以使用用戶端進一步分析數據。
先決條件
您必須擁有 Azure Databricks 工作區、Spark 叢集,以及與叢集相關聯的範例數據。 如果您還沒有這些必要條件,請完成快速入門,Get開始。
從 Databricks 驅動程式下載頁面下載 Databricks ODBC 驅動程式。 安裝64位版本的驅動程式。
Set 設定 Databricks 中的個人存取令牌。 如需指示,請參閱 令牌管理。
Set 設定一個 DSN
數據源名稱 (DSN) 包含特定數據源的相關信息。 ODBC 驅動程式需要此 DSN 才能連線到數據源。 在本節中,您會 set DSN,該 DSN 可與 Databricks ODBC 驅動程式搭配使用,以從 Python 或 R 等用戶端連線到 Azure Databricks。
從 Azure Databricks 工作區,流覽至 Databricks 叢集。
在 [組態] 索引標籤底下,點選 [JDBC/ODBC] 索引標籤,然後複製 [伺服器主機名] 和 [HTTP 路徑] 的 [values]。 您需要這些 values 才能完成本文中的步驟。
在您的電腦上,啟動 ODBC 資料源 應用程式 64 位。
在 [使用者 DSN] 索引標籤下,按一下 [新增]。 在 [[建立新的數據源] 對話框中,selectSimba Spark ODBC Driver,然後按兩下 [完成]。
在 [Simba Spark ODBC Driver] 對話框中,提供以下 values:
下列 table 提供對話框中要提供之 values 的相關信息。
田 價值 數據來源名稱 提供數據源的名稱。 主機或主機群 請提供您從 Databricks 工作區複製的 伺服器主機名稱的值,。 埠 輸入 443。 驗證>機制 Select 使用者名稱與密碼。 用戶名稱 輸入 令牌。 密碼 輸入您從 Databricks 工作區複製的權杖值。 在 [DSN 設定] 對話框中執行下列其他步驟。
- 點選 HTTP 選項。 在開啟的對話框中,貼上您從 Databricks 工作區複製 HTTP 路徑 的值。 按下 [確定] 。
- 點選「SSL 選項」。 在開啟的對話框中,
[啟用 SSL] 複選框。 按下 [確定]。 - 按一下 測試 測試與 Azure Databricks 的連線。 按兩下 [確定] [確定] 來儲存組態。
- 在 [ODBC 數據源管理員] 對話框中,按兩下 [確定]。
您現在已經啟用 DSN set。 在下一節中,您會使用此 DSN 從 Python 或 R 連線到 Azure Databricks。
從 R 連線
注意
本節提供如何整合在桌面上執行的 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 Client。
開啟 RStudio 並執行下列步驟:
- 參考
RODBC
套件。 這可讓您使用您稍早建立的 DSN 連線到 Azure Databricks。 - 使用 DSN 建立連線。
- 對 Azure Databricks 中的數據執行 SQL 查詢。 在下列代碼段中,radio_sample_data 是已存在於 Azure Databricks 的 table。
- 在查詢上執行一些作業,以確認輸出。
下列代碼段會執行下列工作:
# 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 連線
在本節中,您會使用 Python IDE(例如 IDLE)來參考 Azure Databricks 中可用的數據。 開始之前,請先完成下列必要條件:
從這裡安裝 Python
。 從此鏈接安裝 Python 也會安裝 IDLE。 從電腦上的命令提示字元,安裝
pyodbc
套件。 執行下列命令:pip install pyodbc
開啟 IDLE 並執行下列步驟:
- 匯入
pyodbc
套件。 這可讓您使用您稍早建立的 DSN 連線到 Azure Databricks。 - 使用您稍早建立的 DSN 建立連線。
- 使用您所建立的連接來執行 SQL 查詢。 在下列代碼段中,radio_sample_data 是存在於 Azure Databricks 中的 table。
- 在查詢上執行作業,以確認輸出。
下列代碼段會執行下列工作:
# 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)