共用方式為


Databricks Connect for R

注意

本文涵蓋 sparklyr 與 Databricks Runtime 13.0 和更新版本之 Databricks Connect 的整合。 此整合既不是由 Databricks 提供,也不是由 Databricks 直接支援。

如需問題,請前往 Posit 社群

若要回報問題,請移至 GitHub 中存放庫的 sparklyr [問題] 區段。

如需詳細資訊,請參閱檔中的 sparklyr Databricks Connect v2

本文示範如何使用 R、 sparklyr、 和 RStudio Desktop 快速開始使用 Databricks Connect。

Databricks Connect 可讓您將熱門 IDE,例如 RStudio Desktop、Notebook 伺服器和其他自定義應用程式連線到 Azure Databricks 叢集。 請參閱 什麼是 Databricks Connect?

教學課程

本教學課程使用 RStudio Desktop 和 Python 3.10。 如果您尚未安裝它們, 請安裝 R 和 RStudio Desktop 和 Python 3.10。

如需本教學課程的補充資訊,請參閱網站上的 Spark Connect 和 Databricks Connect v2sparklyr一節。

需求

若要完成本教學課程,您必須符合下列需求:

  • 您的目標 Azure Databricks 工作區和叢集必須符合 Databricks Connect 叢集設定的需求
  • 您必須有叢集識別碼可供使用。 若要取得叢集標識碼,請在工作區中按兩下 提要字段上的 [計算 ],然後按兩下叢集的名稱。 在網頁瀏覽器的網址列中,複製URL和之間的clustersconfiguration字元字串。

步驟 1:建立個人存取令牌

注意

Databricks Connect for R 驗證目前僅支援 Azure Databricks 個人存取令牌。

本教學課程使用 Azure Databricks 個人存取令牌驗證 ,向 Azure Databricks 工作區進行驗證。

如果您已經有 Azure Databricks 個人存取令牌,請跳至步驟 2。 如果您不確定您是否已經有 Azure Databricks 個人存取令牌,您可以遵循此步驟,而不會影響使用者帳戶中任何其他 Azure Databricks 個人存取令牌。

若要建立個人存取令牌:

  1. 在 Azure Databricks 工作區中,按兩下頂端列中的 Azure Databricks 使用者名稱,然後從下拉式清單中選取 [設定 ]。
  2. 按兩下 [ 開發人員]。
  3. 按兩下 [存取令牌] 旁的 [管理]。
  4. 按一下 [產生新權杖]
  5. (選擇性)輸入批注,協助您在未來識別此令牌,並變更令牌的預設存留期 90 天。 若要建立沒有存留期的令牌(不建議),請將 [ 存留期(天)] 方塊保留空白(空白)。
  6. 按一下 [產生]
  7. 將顯示的令牌複製到安全的位置,然後按兩下 [ 完成]。

注意

請務必將複製的令牌儲存在安全的位置。 請勿與其他人共享複製的令牌。 如果您遺失複製的令牌,就無法重新產生完全相同的令牌。 相反地,您必須重複此程式來建立新的令牌。 如果您遺失複製的令牌,或您認為令牌已遭入侵,Databricks 強烈建議您按兩下存取令牌頁面上令牌旁邊的垃圾桶 (Revoke) 圖示,立即從工作區中刪除該令牌

如果您無法在工作區中建立或使用令牌,這可能是因為您的工作區系統管理員已停用令牌,或未授與您建立或使用令牌的許可權。 請參閱您的工作區管理員或下列專案:

步驟 2:建立專案

  1. 啟動 RStudio Desktop。
  2. 在主功能表上,按兩下 [ 檔案 > 新專案]。
  3. 選取 [ 新增目錄]。
  4. 選取 [新增專案]
  5. 針對 [目錄名稱 ] 和 [建立專案] 作為 的子目錄,輸入新專案目錄的名稱和建立這個新專案目錄的位置。
  6. 選取 [使用此專案使用 renv]。 如果系統提示您安裝更新的 renv 套件版本,請按兩下 [ ]。
  7. 按一下 [建立專案]

建立 RStudio Desktop 專案

步驟 3:新增 Databricks Connect 套件和其他相依性

  1. 在 [RStudio Desktop] 主功能表上,按兩下 [ 工具 > 安裝套件]。

  2. 將 [從 安裝] 保留為 [存放庫][CRAN]。

  3. 針對 [套件],輸入下列套件列表,這些套件是 Databricks Connect 套件的必要條件,以及本教學課程:

    sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
    
  4. 將 [安裝至連結庫] 設定為 R 虛擬環境。

  5. 請確定已選取 [ 安裝相依性 ]。

  6. 按一下 [安裝]

安裝 Databricks Connect 套件相依性

  1. 當您在主控台檢視中出現提示時(檢視>焦點移至主控台)以繼續進行安裝,請輸入 Ysparklyrpysparklyr 套件及其相依性會安裝在 R 虛擬環境中。

  2. 在控制檯窗格中,執行reticulate下列命令來安裝 Python。 (適用於 R 的 reticulate Databricks Connect 需要先安裝 Python。)在下列命令中,將 取代 3.10 為您 Azure Databricks 叢集上安裝的主要和次要 Python 版本。 若要尋找這個主要和次要版本,請參閱 Databricks Runtime 版本資訊版本和相容性叢集 Databricks Runtime 版本的「系統環境」一節。

    reticulate::install_python(version = "3.10")
    
  3. 在控制檯窗格中,執行下列命令來安裝 Databricks Connect 套件。 在下列命令中,將 取代 13.3 為您 Azure Databricks 叢集上安裝的 Databricks 運行時間版本。 若要尋找此版本,請在 Azure Databricks 工作區的叢集詳細數據頁面上,於 [組態] 索引標籤上,查看 [Databricks 運行時間版本] 方塊。

    pysparklyr::install_databricks(version = "13.3")
    

    如果您不知道叢集的 Databricks Runtime 版本,或不想查閱它,您可以改為執行下列命令,並 pysparklyr 查詢叢集以判斷要使用的正確 Databricks Runtime 版本:

    pysparklyr::install_databricks(cluster_id = "<cluster-id>")
    

    如果您想要稍後將項目連線到與您剛才指定的相同 Databricks Runtime 版本不同的叢集, pysparklyr 將會使用相同的 Python 環境。 如果新叢集有不同的 Databricks Runtime 版本,您應該使用新的 Databricks Runtime 版本或叢集識別碼再次執行 pysparklyr::install_databricks 命令。

步驟 4:設定工作區 URL、存取令牌和叢集標識碼的環境變數

Databricks 不建議您將硬式編碼或變更值,例如您的 Azure Databricks 工作區 URL、Azure Databricks 個人存取令牌或 Azure Databricks 叢集標識符轉換成 R 腳本。 請改為個別儲存這些值,例如在本機環境變數中。 本教學課程使用 RStudio Desktop 的內建支援,將環境變數儲存在檔案中 .Renviron

  1. 建立檔案 .Renviron 來儲存環境變數,如果此檔案不存在,然後開啟此檔案進行編輯:在 RStudio Desktop 控制台中,執行下列命令:

    usethis::edit_r_environ()
    
  2. .Renviron 出現的檔案中(檢視 > 將焦點移至來源),輸入下列內容。 在此內容中,取代下列佔位元:

    • 以您的個別工作區 URL 取代 <workspace-url> ,例如 https://adb-1234567890123456.7.azuredatabricks.net
    • 以步驟 1 中的 Azure Databricks 個人存取權杖取代 <personal-access-token>
    • 將取代 <cluster-id> 為您本教學課程需求中的叢集標識碼。
    DATABRICKS_HOST=<workspace-url>
    DATABRICKS_TOKEN=<personal-access-token>
    DATABRICKS_CLUSTER_ID=<cluster-id>
    
  3. 儲存.Renviron檔案。

  4. 將環境變數載入 R:在主功能表上,按兩下 [工作階段 > 重新啟動 R]。

設定 Databricks Connect 的環境變數

步驟 5:新增程序代碼

  1. 在 [RStudio Desktop] 主功能表上,按兩下 [檔案新檔案 > R 腳稿>]。

  2. 將下列程式代碼輸入檔案,然後將檔案儲存為> demo.R

    library(sparklyr)
    library(dplyr)
    library(dbplyr)
    
    sc <- sparklyr::spark_connect(
      master     = Sys.getenv("DATABRICKS_HOST"),
      cluster_id = Sys.getenv("DATABRICKS_CLUSTER_ID"),
      token      = Sys.getenv("DATABRICKS_TOKEN"),
      method     = "databricks_connect",
      envname    = "r-reticulate"
    )
    
    trips <- dplyr::tbl(
      sc,
      dbplyr::in_catalog("samples", "nyctaxi", "trips")
    )
    
    print(trips, n = 5)
    

步驟 6:執行程序代碼

  1. 在 RStudio Desktop 的檔案工具列 demo.R 中,按兩下 [來源]。

    執行 RStudio Desktop 專案

  2. 在主控台,數據表的前五個數據列trips隨即出現。

  3. 在 [ 連線 ] 檢視 [檢視 > 顯示連接] 中,您可以探索可用的目錄、架構、數據表和檢視。

    專案的 [連線] 檢視

步驟 7:偵錯程序代碼

  1. 在 檔案中 demo.R ,按兩下旁 print(trips, n = 5) 的裝訂線以設定斷點。
  2. 在檔案的工具列中 demo.R ,按兩下 [ 來源]。
  3. 當程式代碼在斷點暫停執行時,您可以在 [環境] 檢視中檢查變數檢視>顯示環境)。
  4. 在主功能表上,按兩下 [偵錯 > 繼續]。
  5. 在主控台,數據表的前五個數據列trips隨即出現。

對 RStudio Desktop 項目進行偵錯