注意
本文涵蓋了 sparklyr
與 Databricks Runtime 13.0 和更新版本之 Databricks Connect 的整合。 此整合既不由 Databricks 提供,也不由 Databricks 直接支援。
如有問題,請前往 Posit 社群。
Databricks Connect 可讓您將熱門 IDE 連線到 Azure Databricks 叢集,例如 RStudio Desktop、筆記本伺服器和其他自訂應用程式。 請參閱什麼是 Databricks Connect?。
注意
Databricks Connect 與 Apache Spark MLlib 的相容性有限,因為 Spark MLlib 使用 RDD,而 Databricks Connect 僅支援 DataFrame API。 若要使用 sparklyr 的所有 Spark MLlib 函式,請使用 Databricks 筆記本或 db_repl
brickster 套件 的函式。
本文示範如何使用sparklyr
和RStudio Desktop快速開始適用於R的Databricks Connect。
- 如需本文的 Python 版本,請參閱配適用於 Python 的 Databricks。
- 如需本文的 Scala 版本,請參閱配適用於 Scala 的 Databricks。
教學課程
在下列教學課程中,您會在 RStudio 中建立專案、安裝及設定 Databricks Connect for Databricks Runtime 13.3 LTS 和更新版本,並從 RStudio 在您的 Databricks 工作區中執行簡單的程式代碼。 如需本教學課程的補充資訊,請參閱 網站上 sparklyr
的「Databricks Connect」一節。
本教學課程使用 RStudio Desktop 和 Python 3.10。 如果您尚未安裝 它們,請安裝 R 和 RStudio Desktop 和 Python 3.10。
需求
您必須滿足下列需求,才能完成本教學課程:
- 您的目標 Azure Databricks 工作區和叢集必須符合 Databricks Connect 的計算組態需求。
- 您必須有叢集識別碼可供使用。 若要取得集群ID,請在工作區側邊欄中點擊 計算,然後點擊您的集群名稱。 在您的網頁瀏覽器的網址列中,複製URL中
clusters
和configuration
之間的字元字串。
步驟 1:建立個人存取權杖
注意
適用於 R 的 Databricks Connect 目前僅支援 Azure Databricks 個人存取權杖驗證。
本教學課程使用 Azure Databricks 個人存取權杖驗證,向 Azure Databricks 工作區進行驗證。
如果您已經有 Azure Databricks 個人存取權杖,請跳至步驟 2。 如果您不確定您是否已經有 Azure Databricks 個人存取權杖,可以遵循此步驟,而不會影響使用者帳戶中任何其他 Azure Databricks 個人存取權杖。
若要建立個人存取令牌,請遵循適用於工作區使用者的 Azure Databricks 個人存取令牌中的步驟。
步驟 2:建立專案
- 啟動 RStudio Desktop。
- 在主功能表,按下 [檔案 > 新增專案]。
- 選取 [新增目錄]。
- 選取 [新增專案]。
- 針對 [目錄名稱 ] 和 [ 建立專案] 作為 的子目錄,輸入新專案目錄的名稱和建立這個新專案目錄的位置。
- 選取 [在此專案中使用 renv]。 如果系統提示您安裝更新的
renv
套件版本,請按下 [是]。 - 按一下 [建立專案]。
步驟 3:新增 Databricks Connect 套件和其他相依性
在 [RStudio Desktop] 主功能表上,按下 [工具 > 安裝套件]。
將 [安裝自] 設定為 [存放庫 (CRAN)]。
針對 [套件],輸入下列套件清單,這些套件是 Databricks Connect 套件和本教學課程的必要條件:
sparklyr,pysparklyr,reticulate,usethis,dplyr,dbplyr
將 [安裝至程式庫] 設定為 R 虛擬環境。
請確定已選取 [安裝相依性]。
按一下 [安裝]。
當在 [主控台] 檢視中 ([檢視 > 將焦點移至主控台]) 出現提示以繼續進行安裝時,請輸入
Y
。sparklyr
和pysparklyr
套件及其相依性會安裝在 R 虛擬環境中。在 [主控台] 窗格中,使用
reticulate
執行下列命令來安裝 Python。 適用於 R 的 Databricks Connect 需要先安裝reticulate
和 Python。) 在下列命令中,將3.10
取代為您 Azure Databricks 叢集上安裝的主要和次要 Python 版本。 若要尋找此主要和次要版本,請參閱 Databricks Runtime 發行說明版本和相容性 中有關您叢集的 Databricks Runtime 版本的「系統環境」一節。reticulate::install_python(version = "3.10")
在 [主控台] 窗格中,執行下列命令來安裝 Databricks Connect 套件。 在下列命令中,將
13.3
取代為您 Azure Databricks 叢集上安裝的 Databricks Runtime 版本。 若要尋找此版本,請在 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
。
建立
.Renviron
檔案來儲存環境變數,如果此檔案尚不存在,則開啟此檔案進行編輯:在 RStudio Desktop [主控台] 中,執行下列命令:usethis::edit_r_environ()
在出現的
.Renviron
檔案中 ([檢視 > 將焦點移至來源]),輸入下列內容。 在此內容中,取代下列預留位置:- 以您的
<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>
- 以您的
儲存
.Renviron
檔案。將環境變數載入 R:在主功能表上,按下 [工作階段 > 重新啟動 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
資料表的前五個資料列隨即出現。