Uso de T-SQL (CREATE EXTERNAL LIBRARY) para instalar paquetes de R en SQL Server

Se aplica a: Solo disponible en síSQL Server 2017 (14.x)

En este artículo se explica cómo instalar nuevos paquetes de R en una instancia de SQL Server en la que el aprendizaje automático está habilitado. Hay varios enfoques entre los que elegir. El uso de T-SQL funciona mejor para los administradores de servidores que no están familiarizados con R.

La instrucción CREATE EXTERNAL LIBRARY permite agregar un paquete o un conjunto de paquetes a una instancia o una base de datos específica sin ejecutar código de R o Python directamente. Sin embargo, este método requiere la preparación del paquete y permisos de base de datos adicionales.

  • Todos los paquetes deben estar disponibles como un archivo comprimido local, en lugar de descargarse a petición desde Internet.

  • Todas las dependencias deben identificarse por el nombre y la versión e incluirse en el archivo ZIP. Se produce un error en la instrucción si los paquetes necesarios no están disponibles, incluidas las dependencias de paquetes de nivel inferior.

  • Debe tener el rol db_owner o contar con el permiso CREATE EXTERNAL LIBRARY en un rol de base de datos. Para obtener más información, consulte CREATE EXTERNAL LIBRARY.

Descarga de paquetes en formato de archivo

Si va a instalar un único paquete, descargue el paquete en formato comprimido.

Es más común instalar varios paquetes debido a las dependencias de paquete. Cuando un paquete requiere otros paquetes, debe comprobar que todos ellos son accesibles entre sí durante la instalación. Se recomienda crear un repositorio local mediante miniCRAN para ensamblar una colección completa de paquetes, así como igraph para analizar las dependencias de los paquetes. La instalación de una versión incorrecta de un paquete o la omisión de una dependencia de paquetes puede producir un error en una instrucción CREATE EXTERNAL LIBRARY.

Copia del archivo en una carpeta local

Copie el archivo comprimido que contiene todos los paquetes en una carpeta local del servidor. Si no tiene acceso al sistema de archivos del servidor, también puede pasar un paquete completo como una variable, con un formato binario. Para obtener más información, vea CREATE EXTERNAL LIBRARY.

Ejecución de la instrucción para cargar paquetes

Abra una ventana de consulta mediante una cuenta con privilegios administrativos.

Ejecute la instrucción T-SQL CREATE EXTERNAL LIBRARY para cargar la colección de paquetes comprimidos en la base de datos.

Por ejemplo, la siguiente instrucción nombra como origen del paquete un repositorio miniCRAN que contiene el paquete randomForest, junto con sus dependencias.

CREATE EXTERNAL LIBRARY [randomForest]
FROM (CONTENT = 'C:\Temp\Rpackages\randomForest_4.6-12.zip')
WITH (LANGUAGE = 'R');

No se puede usar un nombre arbitrario; el nombre de la biblioteca externa debe tener el mismo nombre que se espera usar al cargar o llamar al paquete.

Comprobación de la instalación del paquete

Si la biblioteca se crea correctamente, puede ejecutar el paquete en SQL Server, llamándolo dentro de un procedimiento almacenado.

EXEC sp_execute_external_script
@language =N'R',
@script=N'library(randomForest)'

Consulte también