Notebook-scoped R庫

筆記本範圍的R庫使您能夠創建和修改特定於筆記本會話的自定義R環境。當安裝R筆記本作用域庫時,隻有當前筆記本和與該筆記本關聯的任何作業可以訪問該庫。附加到同一集群的其他筆記本不受影響。

筆記本範圍的庫不會跨會話持久存在。在每個會話開始時,或者在筆記本從集群中分離時,必須重新安裝筆記本作用域庫。

筆記本範圍的圖書館自動提供給工作人員SparkR udf

若要為附加到集群的所有筆記本安裝庫,請使用工作空間cluster-installed庫。

需求

在Databricks Runtime 9.0及以上版本中,默認啟用了記事本範圍的R庫。

在R中安裝筆記本範圍的庫

您可以使用任何熟悉的方法在R中安裝包,例如install.packages (),Devtools api,或Bioconductor

從Databricks Runtime 9.0開始,工作節點和驅動節點都可以訪問R包。

在R中管理筆記本範圍的庫

安裝一個包

install.packages“凱撒”回購“https://cran.microsoft.com/snapshot/2021-07-16/”

Databricks建議使用CRAN快照作為存儲庫來保證可重複的結果

devtools::install_github“klutometis / roxygen”

從筆記本環境中刪除一個R包

要從筆記本中刪除筆記本作用域庫,請使用remove.packages ()命令。

remove.packages“凱撒”

帶有Spark udf的記事本範圍的R庫

筆記本範圍的R庫和SparkR

記事本範圍的庫可在SparkR工作程序上使用;隻需導入一個庫來使用它。例如,您可以運行以下命令使用SparkR UDF生成凱撒加密消息:

install.packages“凱撒”回購“https://cran.microsoft.com/snapshot/2021-07-16/”圖書館SparkRsparkR.session()你好<-函數x圖書館凱撒凱撒“hello world”spark.lapplyc12),你好

筆記本範圍的R庫和sparklyr

默認情況下,在sparklyr: spark_apply (),參數設置為真正的.這將複製當前中的庫libPaths給工人,允許你導入並在工人身上使用它們。例如,您可以運行以下命令生成凱撒加密的消息sparklyr: spark_apply ()

install.packages“凱撒”回購“https://cran.microsoft.com/snapshot/2021-07-16/”圖書館sparklyrsc<-spark_connect方法“磚”apply_caes<-函數x圖書館凱撒凱撒“hello world”sdf_lensc5% > %spark_applyapply_caes

如果不希望庫在工作者上可用,請設置

庫隔離和托管RStudio

RStudio為每個用戶創建單獨的庫路徑;因此,用戶之間是隔離的。但是,庫路徑在工作程序上不可用。如果您想在從RStudio啟動的作業中使用SparkR worker中的包,您需要使用集群作用域庫來安裝它。

另外,如果您使用sparklyr udf,那麼安裝在RStudio中的包在使用時是可用的spark_apply(…真正的)

常見問題

如何在驅動程序上安裝所有R筆記本電腦的軟件包?

顯式地將安裝目錄設置為/磚/火花/ R / lib.例如,使用install.packages ()、運行install.packages(“pckg”,自由= " /磚/火花/ R / lib”).包安裝在/磚/火花/ R / lib在集群上的所有筆記本上共享,但SparkR工作人員無法訪問它們。如果您希望在筆記本和工作人員之間共享庫,請使用集群級庫

是否緩存了筆記本範圍的庫?

沒有為集群上的筆記本作用域庫實現緩存。如果您在筆記本電腦中安裝了一個包,而另一個用戶在同一集群的另一個筆記本電腦中安裝了相同的包,則該包將被下載、編譯並再次安裝。