RStudio在Databricks上

你可以用RStudio的集成開發環境(IDE),以連接到Databricks工作空間內的Databricks計算資源。你可以用RStudio桌麵連接到數據庫集群或者一個SQL倉庫從您的本地開發機器。還可以使用web瀏覽器登錄到Databricks工作空間,然後連接到具有RStudio服務器已安裝,在該工作區中。

RStudio桌麵

你可以用RStudio桌麵從本地開發機器連接到遠程Databricks集群或SQL倉庫。要在此場景中進行連接,您可以使用ODBC連接並為R調用ODBC包函數,這些函數將在本節中描述。

請注意

您不能使用諸如SparkRsparklyr在這個RStudio Desktop場景中,除非您也使用磚連接.作為使用RStudio Desktop的替代方案,您可以使用web瀏覽器登錄到您的Databricks工作空間,然後連接到具有RStudio服務器安裝在該工作區中。

在本地開發機器上設置RStudio桌麵:

  1. 下載並安裝r3.3.0或更高版本

  2. 下載並安裝RStudio Desktop

  3. 啟動RStudio Desktop。

(可選)創建RStudio項目:

  1. 啟動RStudio Desktop。

  2. 點擊>新建項目文件

  3. 選擇新建目錄>新建項目

  4. 為項目選擇一個新目錄,然後單擊創建項目

創建一個R腳本:

  1. 打開項目後,單擊文件>新建文件> R腳本

  2. 點擊文件>另存為

  3. 命名該文件,然後單擊保存

通過ODBC連接到遠程Databricks集群或SQL倉庫。

  1. 得到了服務器主機名港口,HTTP路徑您的遙控器的值集群SQL倉庫.對於集群,這些值位於JDBC / ODBC選項卡的高級選項.對於SQL倉庫,這些值位於連接細節選項卡。

  2. 買一個數據庫個人訪問令牌

    請注意

    作為安全最佳實踐,當使用自動化工具、係統、腳本和應用程序進行身份驗證時,Databricks建議您使用屬於服務主體而不是工作區用戶。要為服務主體創建訪問令牌,請參見管理服務主體的訪問令牌

  3. 安裝和配置Databricks ODBC驅動程序窗戶macOS,或Linux,基於本地計算機的操作係統。

  4. 為遠程集群或SQL倉庫設置ODBC數據源名稱(DSN)窗戶macOS,或Linux,基於本地計算機的操作係統。

  5. 從RStudio控製台(查看>將焦點移動到控製台),安裝odbc而且DBI包從凹口.下麵的示例使用凹口快照過時的2022-02-24

    install.packagesc“odbc”“DBI”),回購“https://cran.microsoft.com/snapshot/2022-02-24/”
  6. 回到你的R腳本(查看>移動焦點到源),加載已安裝的odbc而且DBI包:

    圖書館odbc圖書館DBI
  7. 的ODBC版本調用dbConnect功能DBI包,指定odbc司機在odbc包以及您創建的ODBC DSN,例如,的ODBC DSN

    康涅狄格州dbConnectdrvodbc(),dsn“磚”
  8. 通過ODBC DSN調用一個操作,例如a選擇聲明通過dbGetQuery功能DBI包,指定連接變量的名稱和選擇語句本身,例如從一個名為鑽石在命名為默認的

    打印dbGetQuery康涅狄格州"SELECT * FROM default. "鑽石限量2"))

完整的R腳本如下:

圖書館odbc圖書館DBI康涅狄格州dbConnectdrvodbc(),dsn“磚”打印dbGetQuery康涅狄格州"SELECT * FROM default. "鑽石限量2"))

要運行腳本,請在源視圖中單擊.以上R腳本的結果如下所示:

_c0克拉切色清晰度深度表價格x y z 1 1 0.23理想E SI2 61.5 55 326 3.95 3.98 2.43 2 2 0.21高級E SI1 59.8 61 326 3.89 3.84 2.31

RStudio服務器

您可以使用web瀏覽器登錄到您的Databricks工作空間,然後連接到具有RStudio服務器已安裝,在該工作區中。

請注意

作為RStudio Server的替代方案,您可以使用RStudio桌麵通過ODBC連接從本地開發機器連接到Databricks集群或SQL倉庫,並為r調用ODBC包函數SparkRsparklyr在RStudio Desktop場景中,除非您也使用磚連接

對於RStudio Server,您可以在Databricks上使用開源版或RStudio Workbench(以前的RStudio Server Pro)版本。如果您想使用RStudio Workbench / RStudio Server Pro,您必須將您現有的RStudio Workbench / RStudio Server Pro許可證轉讓給Databricks(參見開始使用RStudio Workbench(以前的RStudio Server Pro)).

Databricks建議您在帶有RStudio Server的Databricks集群上使用Databricks Runtime for Machine Learning (Databricks Runtime ML),以減少集群啟動時間。Databricks Runtime ML包含一個未修改的RStudio服務器開源版包,其源代碼可以在其中找到GitHub.下表列出了目前預安裝在Databricks Runtime ML版本上的RStudio Server Open Source Edition的版本。

Databricks運行時的ML版本

RStudio服務器版本

Databricks Runtime 7.3 LTS ML

1.2

Databricks運行時9.1 LTS ML和10.4 LTS ML

1.4

RStudio集成架構

當您在Databricks上使用RStudio Server時,RStudio Server Daemon運行在Databricks集群的驅動節點上。RStudio web UI是通過Databricks webapp代理的,這意味著您不需要對集群網絡配置進行任何更改。此圖演示了RStudio集成組件體係結構。

RStudio在Databricks上的架構

警告

Databricks從集群的Spark驅動程序的8787端口代理RStudio web服務。此web代理僅用於RStudio。如果您在端口8787上啟動其他web服務,您可能會將用戶暴露於潛在的安全漏洞中。Databricks不負責由於在集群上安裝不支持的軟件而導致的任何問題。

需求

  • 你一定有可以附加到該集群的權限。集群管理員可以授予您此權限。看到集群訪問控製

  • 集群不得表訪問控製自動終止,或憑據透傳啟用。

  • 集群不得使用共享訪問模式

  • 集群不得有Spark配置spark.databricks.pyspark.enableProcessIsolation設置為真正的

  • 您必須擁有RStudio Server浮動專業許可證才能使用專業版。

從RStudio服務器開源版開始

重要的

如果您使用的是Databricks Runtime 7.0 ML或以上版本,則已經安裝了RStudio Server Open Source Edition。您可以跳過安裝RStudio Server這一節,直接跳到下麵使用RStudio服務器開源版

要開始使用Databricks上的RStudio服務器開源版,必須在Databricks集群上安裝RStudio。您隻需要執行一次此安裝。安裝通常由管理員執行。

安裝RStudio服務器開放源碼版

要在使用Databricks Runtime 6.6 ML或以下版本的Databricks集群上設置RStudio Server Open Source Edition,必須創建一個初始化腳本來安裝RStudio Server Open Source Edition二進製包。有關更多信息,請參見集群範圍內的初始化腳本.下麵是一個示例筆記本單元格,它將初始化腳本安裝到DBFS上的某個位置。

重要的

  • 所有用戶都有對DBFS的讀寫訪問,因此任何用戶都可以修改初始化腳本。如果這對您來說是一個潛在的問題,Databricks建議您將初始化腳本放在Amazon S3上,並限製對它的權限。

  • 您可能需要根據運行時的Ubuntu版本修改包URL,您可以在發布說明

腳本" " # !/bin/bash設置-euxo pipefailRSTUDIO_BIN = " / usr / sbin / rstudio-server "If [[!-f "$RSTUDIO_BIN" && $DB_IS_DRIVER = "TRUE"]];然後apt-get更新Apt-get install -y gdebi-corecd / tmp你可以在https://rstudio.com/products/rstudio/download-server/debian-ubuntu/上找到新版本。wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2022.02.1-461-amd64.deb -O rstudio-server.debSudo gdebi -n rstudio-server.debRstudio-server restart || truefi"""dbutilsfsmkdir“磚/ rstudio”dbutilsfs“磚/ rstudio / rstudio-install.sh”腳本真正的
  1. 在筆記本中運行代碼以安裝腳本dbfs: /磚/ rstudio / rstudio-install.sh

  2. 在啟動集群之前,添加dbfs: /磚/ rstudio / rstudio-install.sh作為初始化腳本。看到集群範圍內的初始化腳本獲取詳細信息。

  3. 啟動集群。

使用RStudio服務器開源版

  1. 顯示安裝了RStudio Server Open Source的集群的詳細信息,然後單擊應用程序標簽:

    集群應用程序選項卡
  2. 應用程序選項卡,單擊設置RStudio按鈕。這將為您生成一個一次性密碼。單擊顯示鏈接顯示它並複製密碼。

    RStudio一次性密碼
  3. 單擊打開RStudio鏈接在新選項卡中打開UI。在登錄表單中輸入您的用戶名和密碼並登錄。

    RStudio登錄表單
  4. 從RStudio UI中,您可以導入SparkR包裝和設置SparkR會話在集群上啟動Spark作業。

    圖書館SparkRsparkR.session()查詢一個名為diamonds的表的前兩行# schema(數據庫)命名為“default”並顯示查詢結果。df<-SparkR::sql"SELECT * FROM default. "鑽石限量2"showDFdf
    RStudio開源版會話
  5. 您還可以附加sparklyr包並建立一個Spark連接。

    圖書館sparklyrsc<-spark_connect方法“磚”查詢一個名為“diamonds”的表並顯示前兩行。df<-spark_read_tablescsc的名字“鑽石”打印xdfn2
    RStudio開源版sparlyr連接

開始使用RStudio Workbench(以前的RStudio Server Pro)

2022年2月,RStudio Server Pro更名為RStudio Workbench (關於名稱變更的常見問題).根據您的許可,RStudio Workbench可能包括RStudio Server Pro。

設置RStudio許可證服務器

要在Databricks上使用RStudio Workbench,您需要將您的Pro許可證轉換為浮點許可.如需協助,請聯絡幫助@rstudiocom.當您的許可證被轉換時,您必須設置許可證服務器對於RStudio Workbench。

使用實例設置許可證服務器。

  1. 在您的雲供應商網絡上啟動一個小實例;許可證服務器守護進程是非常輕量級的。

  2. 在您的實例上下載並安裝相應版本的RStudio License Server,並啟動該服務。有關詳細說明,請參見RStudio工作台管理指南

  3. 確保許可證服務器端口對Databricks實例開放。

安裝RStudio工作台

要在Databricks集群上設置RStudio Workbench,必須創建一個初始化腳本來安裝RStudio Workbench二進製包,並將其配置為使用您的許可證服務器進行許可證租賃。看到審計日誌了解更多細節。

請注意

如果您計劃在已經包含RStudio Server Open Source Edition包的Databricks Runtime版本上安裝RStudio Workbench,您需要首先卸載該包才能成功安裝。

下麵是一個在DBFS上生成初始化腳本的筆記本單元格示例。該腳本還執行額外的身份驗證配置,以簡化與Databricks的集成。

重要的

  • 所有用戶都有對DBFS的讀寫訪問,因此任何用戶都可以修改初始化腳本。如果這對您來說是一個潛在的問題,Databricks建議您將初始化腳本放在S3上,並限製對它的權限。

  • 您可能需要根據運行時的Ubuntu版本修改包URL,您可以在發布說明

腳本" " # !/bin/bash設置-euxo pipefailif [[$DB_IS_DRIVER = "TRUE"]];然後Sudo apt-get更新Sudo DPKG——清除rstudio-server #,以防安裝了開源版本。Sudo apt-get install -y gdebi-core alien##安裝RStudio工作台cd / tmp你可以在https://rstudio.com/products/rstudio/download-commercial/debian-ubuntu/上找到新版本。wget https://download2.rstudio.org/server/bionic/amd64/rstudio-workbench-2022.02.1-461.pro1-amd64.deb -O rstudio-workbench.debSudo gdebi -n rstudio-workbench.deb##配置認證Sudo echo 'auth-proxy=1' >> /etc/rstudio/rserver.confSudo echo 'auth-proxy-user-header-rewrite=^(.*)$ $1' >> /etc/rstudio/rserver.confSudo echo 'auth-proxy-sign-in-url=/login.html' >> /etc/rstudio/rserver.confSudo echo 'admin-enabled=1' >> /etc/rstudio/rserver.confsudo echo 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' >> /etc/rstudio/ session-profile . sh輸出說明#啟用浮動licenseSudo echo 'server-license-type=remote' >> /etc/rstudio/rserver.conf#會話配置Sudo echo 'session-rprofile-on-resume-default=1' >> /etc/rstudio/rsession.confSudo echo 'allow-terminal-websockets=0' >> /etc/rstudio/rsession.confSudo rstudio-server license-manager license-server Sudo rstudio-server restart || truefi"""dbutilsfsmkdir“磚/ rstudio”dbutilsfs“磚/ rstudio / rstudio-install.sh”腳本真正的
  1. 取代域> <與您的Databricks URL和< license-server-url >使用浮動許可證服務器的URL。

  2. 在筆記本中運行代碼以安裝腳本dbfs: /磚/ rstudio / rstudio-install.sh

  3. 在啟動集群之前添加dbfs: /磚/ rstudio / rstudio-install.sh作為初始化腳本。看到審計日誌獲取詳細信息。

  4. 啟動集群。

使用RStudio Server Pro

  1. 顯示您安裝RStudio的集群的詳細信息,並單擊應用程序標簽:

    集群應用程序選項卡
  2. 在Apps選項卡中,單擊設置RStudio按鈕。

    RStudio一次性密碼
  3. 不需要設置一次性密碼。單擊打開RStudio UI鏈接,它將為您打開一個經過認證的RStudio Pro會話。

  4. 從RStudio UI中,您可以附加SparkR包裝和設置SparkR會話在集群上啟動Spark作業。

    圖書館SparkRsparkR.session()查詢一個名為diamonds的表的前兩行# schema(數據庫)命名為“default”並顯示查詢結果。df<-SparkR::sql"SELECT * FROM default. "鑽石限量2"showDFdf
    RStudio專業版
  5. 您還可以附加sparklyr包並建立一個Spark連接。

    圖書館sparklyrsc<-spark_connect方法“磚”查詢一個名為“diamonds”的表並顯示前兩行。df<-spark_read_tablescsc的名字“鑽石”打印xdfn2
    RStudio Pro sparklyr連接

RStudio Server的常見問題

RStudio服務器開源版和RStudio工作台有什麼區別?

RStudio Workbench支持開源版所沒有的大量企業特性。你可以在上麵看到特性比較RStudio的網站

此外,RStudio服務器開源版是在GNU Affero通用公共許可證,而Pro版本為不能使用AGPL軟件的組織提供了商業許可證。

最後,RStudio Workbench提供了來自RStudio、PBC的專業和企業支持,而RStudio服務器開源版則沒有支持。

我可以在Databricks上使用我的RStudio Workbench / RStudio Server Pro許可證嗎?

是的,如果您已經擁有RStudio Server的Pro或Enterprise許可證,則可以在Databricks上使用該許可證。看到開始使用RStudio Workbench(以前的RStudio Server Pro)學習如何在Databricks上設置RStudio Workbench。

RStudio服務器在哪裏運行?我是否需要管理其他服務/服務器?

你可以從圖表中看到RStudio集成架構, RStudio Server守護進程運行在Databricks集群的驅動程序(主)節點上。使用RStudio服務器開源版,您不需要運行任何額外的服務器/服務。但是,對於RStudio Workbench,您必須管理一個運行RStudio License Server的單獨實例。

我可以在標準集群上使用RStudio Server嗎?

請注意

本文描述遺留集群UI。有關預覽UI的詳細信息,包括集群訪問模式的術語更改,請參見創建集群.有關新集群類型和遺留集群類型的比較,請參見集群UI更改和集群訪問模式

是的,你可以。最初,你被要求使用高並發集群,但是這種限製已經不存在了。

我可以在具有自動終止功能的集群上使用RStudio服務器嗎?

不,當啟用自動終止時,您不能使用RStudio。自動終止可以清除RStudio會話中未保存的用戶腳本和數據。為了保護用戶不受這種意外數據丟失的影響,默認情況下在此類集群上禁用RStudio。

對於需要beplay体育app下载地址清理未使用集群資源的客戶,Databricks建議使用集群api來根據時間表清理RStudio集群。

我應該如何在RStudio上堅持我的工作?

我們強烈建議您使用RStudio中的版本控製係統來保存您的工作。RStudio對各種版本控製係統有很好的支持,並允許您檢入和管理您的項目。如果您不通過以下方法之一持久化您的代碼,那麼當管理員重新啟動或終止集群時,您可能會丟失您的工作。

方法之一是將文件(代碼或數據)保存在什麼是數據庫文件係統(DBFS)?.例如,如果您將文件保存在/ dbfs /當您的集群終止或重新啟動時,這些文件不會被刪除。

另一種方法是通過將R筆記本導出為將其保存到本地文件係統Rmarkdown,然後將該文件導入RStudio實例。這個博客使用RMarkdown共享R筆記本更詳細地描述這些步驟。

另一種方法是將Amazon Elastic File System (Amazon EFS)卷掛載到您的集群,這樣當集群關閉時,您不會丟失您的工作。當集群重新啟動時,Databricks將重新掛載Amazon EFS卷,您可以繼續停止的地方。要將現有的Amazon EFS卷掛載到集群,請調用創建集群帖子/ api / 2.0 /集群/創建)或編輯集群帖子/ api / 2.0 /集群/編輯)操作,在操作的中指定Amazon EFS卷的裝入信息cluster_mount_infos數組中。

確保您創建或使用的集群沒有啟用Unity Catalog、自動終止或自動伸縮功能。還要確保集群對掛載的卷具有寫訪問權限,例如通過運行該命令修改文件權限+ w< /道路/ /卷>在集群上。您可以通過集群的網絡終端,或在新集群上使用init腳本您在前麵的操作中指定的init_scripts數組中。

如果您沒有現有的Amazon EFS卷,您可以創建一個。首先聯係Databricks的管理員,獲取Databricks工作空間的VPC ID、公網子網ID和安全組ID。然後使用該信息以及AWS管理控製台來使用Amazon EFS控製台創建具有自定義設置的文件係統.在此過程的最後一步中,單擊附加複製前麵指定的DNS名稱和掛載選項cluster_mount_infos數組中。

我如何開始SparkR會話嗎?

SparkR包含在Databricks運行時中,但是你必須將它加載到RStudio中。在RStudio中運行以下代碼來初始化aSparkR會話。

圖書館SparkRsparkR.session()

對象導入時出現錯誤SparkR包,運行.libPaths ()驗證一下/home/ubuntu/databricks/spark/R/lib包含在結果中。

如果沒有,請檢查/usr/lib/R/etc/Rprofile.site.列表/home/ubuntu/databricks/spark/R/lib/SparkR對駕駛員進行驗證SparkR安裝完成。

我如何開始sparklyr會話嗎?

sparklyr軟件包必須安裝在集群上。可通過以下方式安裝sparklyr包:

  • 作為Databricks庫

  • install.packages ()命令

  • RStudio包管理UI

圖書館sparklyrsc<-spark_connect方法

RStudio如何與Databricks R筆記本整合?

您可以通過版本控製在筆記本和RStudio之間移動您的工作。

工作目錄是什麼?

當您在RStudio中啟動一個項目時,您可以選擇一個工作目錄。默認情況下,這是運行RStudio Server的驅動程序(主)容器上的主目錄。如果您願意,可以更改此目錄。

我不能使用終端或git在RStudio在Databricks。我該如何解決這個問題?

確保你已經禁用了websockets。在RStudio Server開源版中,您可以從UI中完成此操作。

RStudio會話

在RStudio Server Pro中,您可以添加allow-terminal-websockets = 0/etc/rstudio/rsession.conf禁用所有用戶的websockets。

我沒有在集群詳細信息下看到Apps選項卡。

並不是所有客戶都可以使用該特性。beplay体育app下载地址你一定在優質計劃或以上

我可以從RStudio運行在Databricks上啟動閃亮應用嗎?

是的,您可以進行開發和查看在RStudio Server上的Databricks閃亮的應用程序