Бөлісу құралы:


Управление библиотекой 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.

  1. В левой части нажмите кнопку "Добавить ", чтобы добавить существующее озеро или создать озеро.

    Снимок экрана: добавление lakehouse в записную книжку.

  2. Чтобы добавить файлы в это lakehouse, выберите рабочую область и выберите lakehouse.

    Снимок экрана: переход к lakehouse для добавления файлов.

  3. Щелкните правой кнопкой мыши или выберите "..." рядом с файлами для отправки .tar.gz файла.

    Снимок экрана: отправка файла в папку Lakehouse Files.

  4. После отправки вернитесь в записную книжку. Используйте следующую команду, чтобы установить пользовательскую библиотеку в сеанс:

    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: