Obtenir des informations sur les packages RGet R package information

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Cet article explique comment en savoir plus sur les packages R installés dans SQL Server Machine Learning Services et SQL Server R Services.This article describes how to get information about installed R packages on SQL Server Machine Learning Services and SQL Server R Services. Les exemples de scripts R vous montrent comment répertorier des informations de package telles que le chemin d’installation et la version.Example R scripts show you how to list package information such as installation path and version.

Emplacement par défaut de la bibliothèque RDefault R library location

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.When you install machine learning with SQL Server, a single package library is created at the instance level for each language that you install. Sur Windows, la bibliothèque d’instances est un dossier sécurisé enregistré avec SQL Server.On Windows, the instance library is a secured folder registered with 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.All script that runs in-database on SQL Server must load functions from the instance library. SQL Server ne peut pas accéder aux packages installés dans d’autres bibliothèques.SQL Server can't access packages installed to other libraries. 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.This applies to remote clients as well: any R script running in the server compute context can only use packages installed in the instance library. 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.To protect server assets, the default instance library can be modified only by a computer administrator.

Le chemin d’accès par défaut aux éléments binaires pour R est le suivant :The default path of the binaries for R is:

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

Le chemin d’accès par défaut aux éléments binaires pour R est le suivant :The default path of the binaries for R is:

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

Le chemin d’accès par défaut aux éléments binaires pour R est le suivant :The default path of the binaries for R is:

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

Cela suppose d’utiliser l’instance SQL par défaut, MSSQLSERVER.This assumes the default SQL instance, MSSQLSERVER. Si SQL Server est installé en tant qu’instance nommée définie par l’utilisateur, le nom donné est utilisé à la place.If SQL Server is installed as a user-defined named instance, the given name is used instead.

Exécutez l’instruction suivante pour déterminer la bibliothèque de packages R par défaut pour l’instance actuelle :Run the following statement to verify the default R package library for the current instance:

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

L’instruction suivante utilise rxSqlLibPaths pour renvoyer le chemin d’accès de la bibliothèque d’instances et la version de RevoScaleR utilisée par SQL Server :The following statement uses rxSqlLibPaths to return the path of the instance library and the version of RevoScaleR used by SQL Server:

EXECUTE sp_execute_external_script
  @language =N'R',
  @script=N'
  sql_r_path <- rxSqlLibPaths("local")
  print(sql_r_path)
  version_info <-packageVersion("RevoScaleR")
  print(version_info)'

Notes

La fonction rxSqlLibPaths ne peut être exécutée que sur l’ordinateur local.The rxSqlLibPaths function can be executed only on the local computer. La fonction ne peut pas renvoyer de chemins d’accès à la bibliothèque pour les connexions à distance.The function cannot return library paths for remote connections.

Packages R par défautDefault R packages

Les packages R suivants sont installés avec SQL Server R Services.The following R packages are installed with SQL Server R Services.

.Packages Options de versionVersion DescriptionDescription
RevoScaleRRevoScaleR 8.0.38.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.Used for remote compute contexts, streaming, parallel execution of rx functions for data import and transformation, modeling, visualization, and analysis.
sqlrutilssqlrutils 8.0.38.0.3 Utilisé pour inclure le script R dans les procédures stockées.Used for including R script in stored procedures.

Les packages R suivants sont installés avec SQL Server Machine Learning Services lorsque vous sélectionnez la fonctionnalité R au moment de l’installation.The following R packages are installed with SQL Server Machine Learning Services when you select the R feature during setup.

.Packages Options de versionVersion DescriptionDescription
RevoScaleRRevoScaleR 9.29.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.Used for remote compute contexts, streaming, parallel execution of rx functions for data import and transformation, modeling, visualization, and analysis.
sqlrutilssqlrutils 9.29.2 Utilisé pour inclure le script R dans les procédures stockées.Used for including R script in stored procedures.
MicrosoftMLMicrosoftML 9.29.2 Ajoute des algorithmes d’apprentissage automatique dans R.Adds machine learning algorithms in R.
olapRolapR 9.29.2 Utilisé pour écrire des instructions MDX dans R.Used for writing MDX statements in R.

Mises à niveau de composantsComponent upgrades

Par défaut, les packages R sont actualisés par le biais des Service Packs et des mises à jour cumulatives.By default, R packages are refreshed through service packs and cumulative updates. Les packages supplémentaires et les mises à niveau de version complètes des composants de base de R ne sont possibles que par le biais de mises à niveau de produit ou par liaison de la prise en charge de R avec Microsoft Machine Learning Server.Additional packages and full version upgrades of core R components are possible only through product upgrades or by binding R support to Microsoft Machine Learning Server.

En outre, vous pouvez ajouter des packages MicrosoftML et olapR à une instance SQL Server à l’aide d’une mise à niveau des composants.In addition, you can add MicrosoftML and olapR packages to a SQL Server instance through a component upgrade.

Pour plus d’informations, consultez Mettre à niveau les composants R et Python dans SQL Server.For more information, see Upgrade R and Python components in SQL Server.

Packages R open source par défautDefault open-source R packages

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.R support includes open-source R so that you can call base R functions and install additional open-source and third-party packages. La prise en charge du langage R comprend des fonctionnalités de base telles que base, stats, utils, et d’autres encore.R language support includes core functionality such as base, stats, utils, and others. 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).A base installation of R also includes numerous sample datasets and standard R tools such as RGui (a lightweight interactive editor) and RTerm (an R command prompt).

La distribution du contenu R open source inclus dans votre installation est Microsoft R Open (MRO).The distribution of open-source R included in your installation is Microsoft R Open (MRO). MRO ajoute de la valeur au contenu R de base en incluant des packages open source supplémentaires, tels que la bibliothèque Intel Math Kernel Library.MRO adds value to base R by including additional open-source packages such as the Intel Math Kernel Library.

La version de R fournie par MRO via le programme d’installation de SQL Server R Services est 3.2.2.The version of R provided by MRO using SQL Server R Services Setup is 3.2.2.

La version de R fournie par MRO via le programme d’installation de SQL Server Machine Learning Services est 3.3.3.The version of R provided by MRO using SQL Server Machine Learning Services Setup is 3.3.3.

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.You should never manually overwrite the version of R installed by SQL Server Setup with newer versions on the web. Les packages Microsoft R sont basés sur des versions spécifiques de R. La modification de votre installation pourrait les déstabiliser.Microsoft R packages are based on specific versions of R. Modifying your installation could destabilize it.

Répertorier tous les packages R installésList all installed R packages

L’exemple suivant utilise la fonction R installed.packages() dans une procédure stockée Transact-SQLTransact-SQL pour afficher une liste des packages R qui ont été installés dans la bibliothèque R_SERVICES de l’instance SQL actuelle.The following example uses the R function installed.packages() in a Transact-SQLTransact-SQL stored procedure to display a list of R packages that have been installed in the R_SERVICES library for the current SQL instance. Ce script renvoie les champs de nom et de version du package dans le fichier DESCRIPTION.This script returns package name and version fields in the DESCRIPTION file.

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.For more information about the optional and default fields for the R package DESCRIPTION field, see https://cran.r-project.org.

Rechercher un package R uniqueFind a single R package

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.If you've installed an R package and want to make sure that it's available to a particular SQL Server instance, you can execute a stored procedure to load the package and return messages.

Par exemple, l’instruction suivante recherche et charge le packageglue, s’il est disponible.For example, the following statement looks for and loads the glue package, if available. Si le package est introuvable ou ne peut pas être chargé, l’erreur « package "glue" introuvable » s’affiche.If the package cannot be located or loaded, you get an error containing the text, "there is no package called 'glue'."

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

Pour plus d’informations sur le package, voir packageDescription.To see more information about the package, view the packageDescription. L’instruction suivante renvoie des informations sur le package glue.The following statement returns information for the glue package.

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

Étapes suivantesNext steps