R 連結庫管理
連結庫提供可重複使用的程式代碼,您可能想要包含在 Microsoft Fabric Spark 的程式或專案中。
Microsoft Fabric 支援具有許多熱門開放原始碼 R 套件的 R 運行時間,包括預安裝 TidyVerse。 啟動 Spark 實例時,這些連結庫會自動包含在筆記本或 Spark 作業定義中,並可供立即使用。
基於各種原因,您可能需要更新 R 連結庫。 例如,您的其中一個核心相依性已發行新版本,或您的小組已建置可在Spark叢集中取得的自定義套件。
根據您的案例,您可能會想要包含兩種類型的連結庫:
摘要連結庫是指位於公用來源或存放庫中的連結庫 ,例如 CRAN 或 GitHub。
自定義連結庫 是您或貴組織所建置的程式代碼, .tar.gz 可透過連結庫管理入口網站進行管理。
Microsoft Fabric 上安裝兩層套件:
環境:透過 環境 管理連結庫,以跨多個筆記本或作業重複使用同一組連結庫。
會話 :會話層級安裝會建立特定筆記本會話的環境。 會話層級連結庫的變更不會在會話之間保存。
摘要目前可用的 R 連結庫管理行為:
程式庫類型 | 環境安裝 | 會話層級安裝 |
---|---|---|
R 摘要 (CRAN) | 不支援 | 支援 |
R 自訂 | 支援 | 支援 |
必要條件
取得 Microsoft Fabric 訂用帳戶。 或者,註冊免費的 Microsoft Fabric 試用版。
登入 Microsoft Fabric。
使用首頁左側的體驗切換器,切換至 Synapse 資料科學 體驗。
會話層級 R 連結庫
執行互動式數據分析或機器學習時,您可以嘗試較新的套件,或可能需要工作區上目前無法使用的套件。 您可以使用會話範圍套件來新增、管理及更新會話相依性,而不是更新工作區設定。
- 當您安裝會話範圍的連結庫時,只有目前的筆記本可以存取指定的連結庫。
- 這些連結庫不會影響使用相同 Spark 集區的其他工作階段或作業。
- 這些連結庫會安裝在基底運行時間和集區層級連結庫之上。
- 筆記本連結庫的優先順序最高。
- 會話範圍的 R 連結庫不會跨工作階段保存。 執行相關的安裝命令時,會在每個會話開始時安裝這些連結庫。
- 工作階段範圍的 R 連結庫會自動安裝在驅動程式和背景工作節點。
注意
執行管線作業時,會停用管理 R 連結庫的命令。 如果您想要在管線內安裝套件,您必須在工作區層級使用連結庫管理功能。
從 CRAN 安裝 R 套件
您可以從 CRAN 輕鬆安裝 R 連結庫。
# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))
您也可以使用 CRAN 快照集作為存放庫,以確保每次下載相同的套件版本。
# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
使用 devtools 安裝 R 套件
連結 devtools
庫可簡化套件開發,以加速一般工作。 此連結庫會安裝在預設的 Microsoft Fabric 執行時間內。
您可以使用 devtools
指定要安裝的特定連結庫版本。 這些連結庫會安裝在叢集內的所有節點。
# Install a specific version.
install_version("caesar", version = "1.0.0")
同樣地,您也可以直接從 GitHub 安裝連結庫。
# Install a GitHub library.
install_github("jtilly/matchingR")
Microsoft Fabric 目前支持下列 devtools
函式:
Command | 描述 |
---|---|
install_github() | 從 GitHub 安裝 R 套件 |
install_gitlab() | 從 GitLab 安裝 R 套件 |
install_bitbucket() | 從 BitBucket 安裝 R 套件 |
install_url() | 從任意 URL 安裝 R 套件 |
install_git() | 從任意 Git 存放庫安裝 |
install_local() | 從磁碟上的本機檔案安裝 |
install_version() | 從 CRAN 上的特定版本安裝 |
安裝 R 自訂連結庫
若要使用會話層級自定義連結庫,您必須先將其上傳至附加的 Lakehouse。
在左側,選取 [新增 ] 以新增現有的 Lakehouse 或建立 Lakehouse。
若要將檔案新增至此 Lakehouse,請選取您的工作區,然後選取 Lakehouse。
以滑鼠右鍵按兩下或選取 “...”在 [檔案] 旁上傳.tar.gz檔案。
上傳之後,請返回您的筆記本。 使用下列命令將自訂連結庫安裝到您的工作階段:
install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
檢視已安裝的連結庫
使用 library
命令查詢會話內安裝的所有連結庫。
# query all the libraries installed in current session
library()
使用 函 packageVersion
式來檢查連結庫的版本:
# check the package version
packageVersion("caesar")
從會話中移除 R 套件
您可以使用 函式 detach
從命名空間中移除連結庫。 這些連結庫會保留在磁碟上,直到它們再次載入為止。
# detach a library
detach("package: caesar")
若要從筆記本中移除會話範圍的套件,請使用 remove.packages()
命令。 此連結庫變更不會影響相同叢集上的其他會話。 用戶無法卸載或移除預設 Microsoft Fabric 運行時間的內建連結庫。
注意
您無法移除 SparkR、SparklyR 或 R 等核心套件。
remove.packages("caesar")
會話範圍的 R 連結庫和 SparkR
SparkR 背景工作角色提供筆記本範圍的連結庫。
install.packages("stringr")
library(SparkR)
str_length_function <- function(x) {
library(stringr)
str_length(x)
}
docs <- c("Wow, I really like the new light sabers!",
"That book was excellent.",
"R is a fantastic language.",
"The service in this restaurant was miserable.",
"This is neither positive or negative.")
spark.lapply(docs, str_length_function)
會話範圍的 R 連結庫和 sparklyr
在 spark_apply()
sparklyr中,您可以使用Spark內的任何 R 套件。 根據預設,在中 sparklyr::spark_apply()
,packages 自變數會設定為 FALSE。 這會將目前 libPaths 中的連結庫複製到背景工作角色,讓您在背景工作角色上匯入和使用連結庫。 例如,您可以執行下列命令來產生具有 sparklyr::spark_apply()
的凱撒加密訊息:
install.packages("caesar", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")
spark_version <- sparkR.version()
config <- spark_config()
sc <- spark_connect(master = "yarn", version = spark_version, spark_home = "/opt/spark", config = config)
apply_cases <- function(x) {
library(caesar)
caesar("hello world")
}
sdf_len(sc, 5) %>%
spark_apply(apply_cases, packages=FALSE)
相關內容
深入瞭解 R 功能:
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應