共用方式為


從 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。

  1. 從 Azure Databricks 工作區,流覽至 Databricks 叢集。

    Open Databricks 叢集

  2. 在 [組態] 索引標籤底下,按兩下 [JDBC/ODBC] 索引卷標,然後複製 [伺服器主機名] 的值,並 [HTTP 路徑]。 您需要這些值,才能完成本文中的步驟。

    取得 Databricks 組態

  3. 在您的電腦上,啟動 ODBC 資料源 應用程式 64 位。

    啟動 ODBC 資料源應用程式,

  4. 在 [使用者 DSN] 索引標籤下,按一下 [新增]。 在 [[建立新的數據源] 對話框中,選取 Simba Spark ODBC Driver然後按兩下 [完成]。

    新增 ODBC 資料源

  5. 在 [Simba Spark ODBC Driver] 對話框中,提供下列值:

    設定 DSN

    下表提供對話框中要提供之值的資訊。

    價值
    數據來源名稱 提供數據源的名稱。
    主機或主機群 請提供您從 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 數據源