Управление библиотекой 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 отключены при выполнении заданий конвейера. Если вы хотите установить пакет в конвейере, необходимо использовать возможности управления библиотеками на уровне рабочей области.
Установка пакетов R из CRAN
Вы можете легко установить библиотеку R из CRAN.
# 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/")
Установка пакетов 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
функции:
Команда | Description |
---|---|
install_github() | Устанавливает пакет R из GitHub |
install_gitlab() | Устанавливает пакет R из GitLab |
install_bitbucket() | Устанавливает пакет R из BitBucket |
install_url() | Устанавливает пакет R из произвольного URL-адреса |
install_git() | Установка из произвольного репозитория Git |
install_local() | Устанавливает из локального файла на диске |
install_version() | Установка из определенной версии в CRAN |
Установка пользовательских библиотек R
Чтобы использовать пользовательскую библиотеку на уровне сеанса, необходимо сначала отправить ее в присоединенную библиотеку 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 можно использовать любые пакеты R внутри Spark. По умолчанию sparklyr::spark_apply()
аргумент пакетов задает значение FALSE. При этом библиотеки в текущих libPaths копируются в рабочие роли, что позволяет импортировать и использовать их для рабочих ролей. Например, можно выполнить следующую команду, чтобы создать зашифрованное с помощью caesar сообщение с помощью 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: