Administración de bibliotecas de R
Las bibliotecas proporcionan código reutilizable que puede incluir en los programas o proyectos de Microsoft Fabric Spark.
Microsoft Fabric admite un entorno de ejecución de R con muchos paquetes populares de R de código abierto, 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.
Es posible que tenga que actualizar las bibliotecas de 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.
bibliotecas personalizadas son el código creado por usted o su organización, .tar.gz se pueden administrar a través de portales de administración de bibliotecas.
Hay dos niveles de paquetes instalados en Microsoft Fabric:
Entorno: administre las bibliotecas desde 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 |
Prerrequisitos
Obtenga una suscripción a Microsoft Fabric. También puede registrarse para obtener una evaluación gratuita de Microsoft Fabric.
Inicie sesión en Microsoft Fabric.
Use el conmutador de experiencia en la parte inferior izquierda de la página principal para cambiar a Fabric.
Bibliotecas de R de nivel de sesión
Al realizar análisis de datos interactivos o aprendizaje automático, es posible que pruebe paquetes más recientes o que necesite paquetes que no estén disponibles actualmente en el área de trabajo. En lugar de actualizar la configuración del área de trabajo, puede usar paquetes con ámbito de sesión para agregar, administrar y actualizar las dependencias de sesión.
- Al instalar bibliotecas con á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.
- Estas bibliotecas se instalan sobre el entorno de ejecución base y las bibliotecas 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 ejecutan 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
Los comandos de administración de bibliotecas de R se deshabilitan al ejecutar tareas de línea de procesamiento. 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 descargar la misma versión del paquete cada vez.
# 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 entorno de ejecución predeterminado de Microsoft Fabric.
Puede usar devtools
para especificar una versión específica de una biblioteca que se va a instalar. Estas bibliotecas se instalan en todos los nodos del clúster.
# Install a specific version.
install_version("caesar", version = "1.0.0")
Del mismo modo, puede instalar una biblioteca directamente desde GitHub.
# Install a GitHub library.
install_github("jtilly/matchingR")
Actualmente, se admiten las siguientes funciones de devtools
en Microsoft Fabric:
Comando | 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() | Instalaciones 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 un almacén de lago de datos adjunto.
Abra el cuaderno en el que desea usar la biblioteca personalizada.
En el lado izquierdo, seleccione Añadir para añadir un lago de datos existente o crear uno.
Haga clic con el botón derecho o seleccione "..." junto a Archivos para cargar el archivo .tar.gz.
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 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 vuelven a cargar.
# 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 entorno de ejecución 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, puedes usar cualquier paquete de R dentro de Spark. De forma predeterminada, en sparklyr::spark_apply()
, el argumento packages 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)
Contenido relacionado
Más información sobre las funcionalidades de R: