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