Obtenir des informations sur les packages R

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Managed Instance

Cet article explique comment obtenir des informations sur les packages R installés sur Machine Learning Services sur SQL Server et sur SQL Server 2019 Clusters Big Data. Les exemples de scripts R vous montrent comment répertorier des informations de package telles que le chemin d’installation et la version.

Cet article explique comment obtenir des informations sur les packages R installés sur SQL Server Machine Learning Services. Les exemples de scripts R vous montrent comment répertorier des informations de package telles que le chemin d’installation et la version.

Cet article explique comment obtenir des informations sur les packages R installés sur Azure SQL Managed Instance Machine Learning Services. Les exemples de scripts R vous montrent comment répertorier des informations de package telles que le chemin d’installation et la version.

Notes

Les fonctionnalités des caractéristiques et les options d’installation varient entre les versions de SQL Server. Utilisez la liste déroulante du sélecteur de version pour choisir la version appropriée de SQL Server.

Emplacement par défaut de la bibliothèque R

Lorsque vous installez Machine Learning avec SQL Server, une seule bibliothèque de packages est créée au niveau de l’instance pour chaque langage que vous installez. Sur Windows, la bibliothèque d’instances est un dossier sécurisé enregistré avec SQL Server.

Tout script qui s’exécute dans la base de données sur SQL Server doit charger les fonctions à partir de la bibliothèque d’instances. SQL Server ne peut pas accéder aux packages installés dans d’autres bibliothèques. Cela s’applique également aux clients distants : tout script R qui s’exécute dans le contexte de calcul du serveur peut uniquement utiliser des packages installés dans la bibliothèque d’instances. Pour protéger les ressources du serveur, la bibliothèque d’instances par défaut ne peut être modifiée que par un administrateur de l’ordinateur.

Le chemin d’accès par défaut aux éléments binaires pour R est le suivant :

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\library

Cela nécessite d’utiliser l’instance SQL par défaut, MSSQLSERVER. Si SQL Server est installé en tant qu’instance nommée définie par l’utilisateur, le nom donné est utilisé à la place.

Le chemin d’accès par défaut aux éléments binaires pour R est le suivant :

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\library

Cela nécessite d’utiliser l’instance SQL par défaut, MSSQLSERVER. Si SQL Server est installé en tant qu’instance nommée définie par l’utilisateur, le nom donné est utilisé à la place.

Le chemin d’accès par défaut aux éléments binaires pour R est le suivant :

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\R_SERVICES\library

Cela nécessite d’utiliser l’instance SQL par défaut, MSSQLSERVER. Si SQL Server est installé en tant qu’instance nommée définie par l’utilisateur, le nom donné est utilisé à la place.

Exécutez l’instruction suivante pour déterminer la bibliothèque de packages R par défaut pour l’instance actuelle :

EXECUTE sp_execute_external_script  
  @language = N'R',
  @script = N'OutputDataSet <- data.frame(.libPaths());'
WITH RESULT SETS (([DefaultLibraryName] VARCHAR(MAX) NOT NULL));
GO

Packages Microsoft R par défaut

Les packages Microsoft R suivants sont installés avec SQL Server R Services.

. Version Description
RevoScaleR 8.0.3 Utilisé pour les contextes de calcul distants, la diffusion en continu, l’exécution parallèle des fonctions rx pour l’importation et la transformation des données, la modélisation, la visualisation et l’analyse.
sqlrutils 1.0.0 Utilisé pour inclure le script R dans les procédures stockées.

Packages Microsoft R par défaut

Les packages Microsoft R suivants sont installés avec SQL Server Machine Learning Services lorsque vous sélectionnez la fonctionnalité R au moment de l’installation.

. Version Description
RevoScaleR 9.2 Utilisé pour les contextes de calcul distants, la diffusion en continu, l’exécution parallèle des fonctions rx pour l’importation et la transformation des données, la modélisation, la visualisation et l’analyse.
sqlrutils 1.0.0 Utilisé pour inclure le script R dans les procédures stockées.
MicrosoftML 1.4.0 Ajoute des algorithmes d’apprentissage automatique dans R.
olapR 1.0.0 Utilisé pour écrire des instructions MDX dans R.

Packages Microsoft R par défaut

Les packages Microsoft R suivants sont installés avec SQL Server Machine Learning Services lorsque vous sélectionnez la fonctionnalité R au moment de l’installation.

. Version Description
RevoScaleR 9.4.7 Utilisé pour les contextes de calcul distants, la diffusion en continu, l’exécution parallèle des fonctions rx pour l’importation et la transformation des données, la modélisation, la visualisation et l’analyse.
sqlrutils 1.0.0 Utilisé pour inclure le script R dans les procédures stockées.
MicrosoftML 9.4.7 Ajoute des algorithmes d’apprentissage automatique dans R.
olapR 1.0.0 Utilisé pour écrire des instructions MDX dans R.

Mise à niveau des composants

Par défaut, les packages R sont actualisés par le biais des Service Packs et des mises à jour cumulatives. Des packages supplémentaires et des mises à niveau de version complètes de composants de base R sont possibles uniquement par le biais de mises à niveau de produit.

En outre, vous pouvez ajouter des packages MicrosoftML et olapR à une instance SQL Server à l’aide d’une mise à niveau des composants.

Packages R open source par défaut

La prise en charge de R comprend R open source. Cela vous permet d’appeler les fonctions R de base et d’installer des packages open source et tiers supplémentaires. La prise en charge du langage R comprend des fonctionnalités de base telles que base, stats, utils, et d’autres encore. L’installation de base de R comprend également un grand nombre d’exemples de jeux de données et d’outils R standard tels que RGui (un éditeur interactif léger) et RTerm (une invite de commandes R).

Pour plus d’informations sur la version de R incluse avec chaque version de SQL Server, consultez les Versions de Python et de R.

Important

Vous ne devez jamais remplacer manuellement la version de R installée par le programme d’installation de SQL Server par des versions plus récentes obtenues sur le Web. Les packages Microsoft R sont basés sur des versions spécifiques de R. La modification de votre installation pourrait les déstabiliser.

Répertorier tous les packages R installés

L’exemple suivant utilise la fonction R installed.packages() dans une procédure stockée Transact-SQL pour afficher une liste des packages R qui ont été installés dans la bibliothèque R_SERVICES de l’instance SQL actuelle. Ce script renvoie les champs de nom et de version du package dans le fichier DESCRIPTION.

EXECUTE sp_execute_external_script
  @language=N'R',
@script = N'str(OutputDataSet);
packagematrix <- installed.packages();
Name <- packagematrix[,1];
Version <- packagematrix[,3];
OutputDataSet <- data.frame(Name, Version);',
@input_data_1 = N'
  '
WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))

Pour plus d’informations sur les champs facultatifs et par défaut du champ DESCRIPTION du package R, consultez https://cran.r-project.org.

Rechercher un package R unique

Si vous avez installé un package R et que vous souhaitez vous assurer qu’il est disponible pour une instance SQL Server donnée, vous pouvez exécuter une procédure stockée pour charger le package et renvoyer des messages.

Par exemple, l’instruction suivante recherche et charge le packageglue, s’il est disponible. Si le package est introuvable ou ne peut pas être chargé, vous obtenez une erreur.

EXECUTE sp_execute_external_script  
  @language =N'R',
  @script=N'
require("glue")
'

Pour plus d’informations sur le package, voir packageDescription. L’instruction suivante renvoie des informations sur le package MicrosoftML.

EXECUTE sp_execute_external_script
  @language = N'R',
  @script = N'
print(packageDescription("MicrosoftML"))
'

Étapes suivantes