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
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.
Cambie a la experiencia de ciencia de datos de Synapse mediante el conmutador de experiencia en el lado izquierdo de la página principal.
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.
En el lado izquierdo, seleccione Añadir para añadir un almacén de lago existente o crear uno.
Para agregar archivos a esta instancia de Lakehouse, seleccione el área de trabajo y, a continuación, seleccione la instancia de Lakehouse.
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 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)
Contenido relacionado
Obtenga más información sobre las funcionalidades de R: