注意
本文探討 sparklyr 與適用於 Databricks Runtime 13.0 及更高版本的 Databricks Connect 之整合。 此整合既不由 Databricks 提供,也不由 Databricks 直接支援。
如有問題,請前往 Posit 社群。
若要回報問題,請前往 GitHub 倉庫的 sparklyr 區塊。
如需詳細資訊,請參閱 Databricks Connect v2 在 sparklyr 文件中的說明。
Databricks Connect 讓你能將熱門的 IDE 如 RStudio Desktop、筆記型電腦伺服器及其他自訂應用程式連接到 Azure Databricks 叢集。 請參閱 Databricks Connect。
注意
Databricks Connect 與 Apache Spark MLlib 的相容性有限,因為 Spark MLlib 使用 RDD,而 Databricks Connect 僅支援 DataFrame API。 若要使用 sparklyr 的所有 Spark MLlib 函式,請使用 Databricks 筆記本或 db_replbrickster 套件 的函式。
本文示範如何使用sparklyr和RStudio Desktop快速開始適用於R的Databricks Connect。
- 關於 Databricks Connect 的 Python,請參見 Databricks Connect for Python。
- 如需了解 Scala 的 Databricks Connect,請參閱「Databricks Connect for Scala」。
教學
在下列教學課程中,您會在 RStudio 中建立專案、安裝及設定 Databricks Connect for Databricks Runtime 13.3 LTS 和更新版本,並從 RStudio 在您的 Databricks 工作區中執行簡單的程式代碼。 如需本教學課程的補充資訊,請參閱 Spark Connect 和 Databricks Connect v2 的「Databricks Connect」一節,位於 sparklyr 網站。
本教學使用 RStudio Desktop 與 Python 3.10。 如果你還沒安裝過,請先安裝R 和 RStudio Desktop,以及 Python 3.10。
需求
您必須滿足下列需求,才能完成本教學課程:
- 您的目標 Azure Databricks 工作空間和叢集必須符合 Databricks Connect 計算配置的要求。
- 您必須有叢集 ID 可供使用。 若要取得集群ID,請在工作區側邊欄中點擊 計算,然後點擊您的集群名稱。 在您的網頁瀏覽器的網址列中,複製URL中
clusters和configuration之間的字元字串。
步驟 1:建立個人存取權杖
注意
Databricks Connect for R 認證目前僅支援 Azure Databricks 個人存取權杖。
這個教學使用 Azure Databricks 個人存取權杖認證來與你的Azure Databricks工作區進行認證。
如果你已經有 Azure Databricks 個人存取權杖,請跳到步驟 2。 如果你不確定自己是否已經有 Azure Databricks 個人存取權杖,可以依照此步驟操作,而不會影響你使用者帳號中其他 Azure Databricks 個人存取權杖。
若要建立個人存取權杖,請遵循為 工作區使用者建立個人存取權杖中的步驟。
步驟 2:建立專案
- 啟動 RStudio Desktop。
- 在主選單中,點選 File > New Project。
- 選取 新增目錄。
- 選擇新專案。
- 針對 [目錄名稱 ] 和 [ 建立專案] 作為 的子目錄,輸入新專案目錄的名稱和建立這個新專案目錄的位置。
- 選擇 [在此專案中使用 renv]。 如果系統提示您安裝更新的
renv套件版本,請按下 [是]。 - 點擊 Create Project。
步驟 3:新增 Databricks Connect 套件和其他相依性
在 [RStudio Desktop] 主功能表上,按下 [工具 > 安裝套件]。
將 [安裝自] 設定為 [存放庫 (CRAN)]。
針對 [套件],輸入下列套件清單,這些套件是 Databricks Connect 套件和本教學課程的必要條件:
sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr將 安裝至程式庫 設定為您的 R 虛擬環境。
請確定已選取 [安裝相依性]。
按一下 [安裝]。
當在 [主控台] 檢視中 ([檢視 > 將焦點移至主控台]) 出現提示以繼續進行安裝時,請輸入
Y。sparklyr和pysparklyr套件及其相依性會安裝在 R 虛擬環境中。在 Console 面板中,使用
reticulate執行以下指令安裝 Python。 (Databricks Connect for R 需要先安裝reticulate和 Python。)在以下指令中,將3.10替換為安裝在你Azure Databricks叢集上的 Python 版本的主版本和次要版本。 若要尋找此主要和次要版本,請參閱 Databricks Runtime 發行說明版本和相容性 中有關您叢集的 Databricks Runtime 版本的「系統環境」一節。reticulate::install_python(version = "3.10")在 [主控台] 窗格中,執行下列命令來安裝 Databricks Connect 套件。 在以下指令中,將
13.3替換為安裝在你Azure Databricks叢集上的 Databricks 執行時版本。 要找到這個版本,可以在你Azure Databricks工作區的叢集詳情頁面,Configuration 標籤中,請參考 Databricks 執行時版本框。pysparklyr::install_databricks(version = "13.3")如果您不知道叢集的 Databricks Runtime 版本,或不想查閱,可以改為執行下列命令,並且
pysparklyr查詢叢集,以判斷要使用的正確 Databricks Runtime 版本:pysparklyr::install_databricks(cluster_id = "<cluster-id>")如果你想讓專案之後連接到另一個叢集,且該叢集的 Databricks 執行時版本與你剛剛指定的相同,
pysparklyr會使用相同的 Python 環境。 如果新叢集有不同的 Databricks Runtime 版本,您應該使用新的 Databricks Runtime 版本或叢集識別碼來再次執行pysparklyr::install_databricks命令。
步驟 4:設定工作區 URL、存取權杖和叢集識別碼的環境變數
Databricks 不建議你在 R 腳本中硬編碼敏感或變動的值,例如 Azure Databricks 工作區 URL、Azure Databricks 個人存取權杖或 Azure Databricks 叢集 ID。 請改為單獨儲存這些值,例如在本機環境變數中。 本教學課程使用 RStudio Desktop 的內建支援,將環境變數儲存在檔案中 .Renviron 。
建立
.Renviron檔案來儲存環境變數,如果此檔案尚不存在,則開啟此檔案進行編輯:在 RStudio Desktop [主控台] 中,執行下列命令:usethis::edit_r_environ()在出現的
.Renviron檔案中 ([檢視 > 將焦點移至來源]),輸入下列內容。 在此內容中,請替換下列佔位符:- 用您的
<workspace-url>取代,例如https://adb-1234567890123456.7.azuredatabricks.net。 - 將
<personal-access-token>替換成你在第 1 步的 Azure Databricks 個人存取權杖。 - 使用您在本教學課程需求中的叢集標識碼取代
<cluster-id>。
DATABRICKS_HOST=<workspace-url> DATABRICKS_TOKEN=<personal-access-token> DATABRICKS_CLUSTER_ID=<cluster-id>- 用您的
儲存
.Renviron檔案。將環境變數載入 R:在主功能表上,按下 [Session]> [重新啟動 R]。
步驟 5:新增程式碼
在 [RStudio Desktop] 主功能表上,按下 [檔案 > 新檔案 > R 指令碼]。
將下列程式碼輸入檔案,然後將檔案儲存為 ([檔案 > 儲存])
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:執行程式碼
在 RStudio Desktop 上,
demo.R檔案的工具列中,按下 [來源]。
在 [主控台] 中,
trips資料表的前五個資料列隨即出現。在 [連線] 檢視 ([檢視] > 顯示連線]) 中,您可以探索可用的目錄、結構描述、資料表和檢視。
步驟 7:偵錯程式碼
- 在
demo.R檔案中,點擊print(trips, n = 5)旁的邊欄,以設定中斷點。 - 在
demo.R檔案的工具列中,按下 [來源]。 - 當程式碼在中斷點暫停執行時,您可以在 [環境] 檢視 ([檢視 > 顯示環境]) 中檢查變數。
- 在主功能表上,按下 [偵錯 > 繼續]。
- 在 [主控台] 中,
trips資料表的前五個資料列隨即出現。