Compartir por


Administración de bibliotecas de R

Las bibliotecas proporcionan código reutilizable que se puede incluir en los programas o proyectos para Microsoft Fabric Spark.

Microsoft Fabric admite un entorno de ejecución de R con muchos paquetes de R de código abierto populares, como TidyVerse, preinstalado. Cuando se inicia una instancia de Spark, estas bibliotecas se incluyen automáticamente y están disponibles para usarse inmediatamente en cuadernos o definiciones de trabajos de Spark.

Puede que necesite actualizar sus bibliotecas R por varias razones. Por ejemplo, una de las dependencias principales publicó una nueva versión o el equipo ha creado un paquete personalizado que necesita disponible en los clústeres de Spark.

Hay dos tipos de bibliotecas que puede incluir en función de su escenario:

  • Las Bibliotecas de fuentes hacen referencia a las que residen en orígenes o repositorios públicos, como CRAN o GitHub.

  • Las Bibliotecas personalizadas son el código creado por usted o su organización, y .tar.gz se puede administrar a través de portales de administración de bibliotecas.

Hay dos niveles de paquetes instalados en Microsoft Fabric:

  • Entorno: administre bibliotecas a través de un entorno para reutilizar el mismo conjunto de bibliotecas en varios cuadernos o trabajos.

  • Sesión : una instalación de nivel de sesión crea un entorno para una sesión de cuadernos específica. El cambio de las bibliotecas de nivel de sesión no se conserva entre sesiones.

Resumen de los comportamientos actuales de administración de bibliotecas de R disponibles:

Tipo de biblioteca Instalación del entorno Instalación de nivel de sesión
Fuente R (CRAN) No compatible Compatible
Personalizar R Compatible Compatible.

Requisitos previos

Bibliotecas de R de nivel de sesión

Al realizar análisis de datos interactivos o aprendizaje automático, puede probar paquetes más recientes o necesitar paquetes que ya no están disponibles en su área de trabajo. En lugar de actualizar la configuración del área de trabajo, ahora puede usar paquetes de ámbito de sesión para agregar, administrar y actualizar dependencias de sesión.

  • Al instalar las bibliotecas de ámbito de sesión, solo el cuaderno actual tiene acceso a las bibliotecas especificadas.
  • Estas bibliotecas no afectan a otras sesiones o trabajos que usen el mismo grupo de Spark.
  • Las bibliotecas se instalan sobre las bibliotecas del entorno de ejecución base y de nivel de grupo.
  • Las bibliotecas de cuadernos tienen la prioridad más alta.
  • Las bibliotecas de R con ámbito de sesión no se conservan entre sesiones. Estas bibliotecas se instalan al principio de cada sesión cuando se ejecuten los comandos de instalación relacionados.
  • Las bibliotecas de R con ámbito de sesión se instalan automáticamente en los nodos de controlador y de trabajo.

Nota:

Estos comandos de administración de bibliotecas de R se deshabilitan al ejecutar trabajos de canalización. Si desea instalar un paquete dentro de una canalización, debe usar las funcionalidades de administración de bibliotecas en el nivel de área de trabajo.

Instalación de paquetes de R desde CRAN

Puede instalar fácilmente una biblioteca de R desde CRAN.

# install a package from CRAN
install.packages(c("nycflights13", "Lahman"))

También puede usar instantáneas de CRAN como repositorio para asegurarse de que siempre se descarga la misma versión del paquete.

# install a package from CRAN snapsho
install.packages("highcharter", repos = "https://cran.microsoft.com/snapshot/2021-07-16/")

Instalación de paquetes de R mediante devtools

La biblioteca devtools simplifica el desarrollo de paquetes para acelerar las tareas comunes. Esta biblioteca se instala dentro del runtime de Microsoft Fabric predeterminado.

Puede usar devtools para especificar una versión específica de una biblioteca para instalarla. Estas bibliotecas se instalan en todos los nodos del clúster.

# Install a specific version. 
install_version("caesar", version = "1.0.0")

De forma similar, puede instalar una biblioteca directamente desde GitHub.

# Install a GitHub library. 

install_github("jtilly/matchingR")

Actualmente, en Microsoft Fabric se admiten las siguientes funciones de devtools:

Get-Help Descripción
install_github() Instala un paquete de R desde GitHub
install_gitlab() Instala un paquete de R desde GitLab
install_bitbucket() Instala un paquete de R desde BitBucket
install_url() Instala un paquete de R desde una dirección URL arbitraria
install_git() Se instala desde un repositorio git arbitrario
install_local() Se instala desde un archivo local en el disco
install_version() Se instala desde una versión específica en CRAN

Instalación de bibliotecas personalizadas de R

Para usar una biblioteca personalizada de nivel de sesión, primero debe cargarla en una instancia de Lakehouse adjunta.

  1. En el lado izquierdo, seleccione Añadir para añadir un almacén de lago existente o crear uno.

    Captura de pantalla de cómo añadir un lago a su cuaderno.

  2. Para agregar archivos a esta instancia de Lakehouse, seleccione el área de trabajo y, a continuación, seleccione la instancia de Lakehouse.

    Captura de pantalla de cómo navegar a su lago para añadir archivos.

  3. Haga clic con el botón derecho o seleccione "..." junto a Archivos para cargar el archivo .tar.gz.

    Captura de pantalla de cómo cargar su archivo en la carpeta Archivos de la instancia de Lakehouse.

  4. Después de cargarlo, vuelva al cuaderno. Use el siguiente comando para instalar la biblioteca personalizada en la sesión:

    install.packages("filepath/filename.tar.gz", repos = NULL, type = "source")
    

Visualización de las bibliotecas instaladas

Consulte todas las bibliotecas instaladas en la sesión mediante el comando library.

# query all the libraries installed in current session
library()

Use la función packageVersion para comprobar la versión de la biblioteca:

# check the package version
packageVersion("caesar")

Eliminación de un paquete de R de una sesión

Puede usar la función detach para quitar una biblioteca del espacio de nombres. Estas bibliotecas permanecen en el disco hasta que se carguen de nuevo.

# detach a library

detach("package: caesar")

Para quitar un paquete con ámbito de sesión de un cuaderno, use el comando remove.packages(). Este cambio de biblioteca no afecta a otras sesiones del mismo clúster. Los usuarios no pueden desinstalar ni quitar bibliotecas integradas del runtime predeterminado de Microsoft Fabric.

Nota:

No se pueden quitar paquetes principales como SparkR, SparklyR o R.

remove.packages("caesar")

Bibliotecas de R con ámbito de sesión y SparkR

Las bibliotecas con ámbito de cuaderno están disponibles en los nodos de trabajo de 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)

Bibliotecas de R con ámbito de sesión y sparklyr

Con spark_apply() en sparklyr, puede usar cualquier paquete de R dentro de Spark. De forma predeterminada, en sparklyr::spark_apply(), el argumento de los paquetes se establece en FALSE. Este valor copia las bibliotecas del objeto libPaths actual en los nodos de trabajo, lo que le permite importarlas y usarlas en ellos. Por ejemplo, puede ejecutar lo siguiente para generar un mensaje con cifrado césar con :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)

Obtenga más información sobre las funcionalidades de R: