共用方式為


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

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

    Open Databricks 叢集

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

    Get Databricks 組態

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

    啟動 ODBC 資料源應用程式,

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

    新增 ODBC 資料源

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

    設定 DSN

    下列 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)

後續步驟

  • 若要瞭解您可以從 where 將數據匯入 Azure Databricks 的來源,請參閱 azure Databricks 的數據源