R パッケージ情報の取得

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Managed Instance

この記事では、SQL Server 上の Machine Learning Services および SQL Server 2019 ビッグ データ クラスターにインストールされている R パッケージに関する情報を取得する方法について説明します。 R スクリプトの例では、インストール パスやバージョンなどのパッケージ情報を一覧表示する方法を示しています。

この記事では、SQL Server Machine Learning Services にインストールされている R パッケージに関する情報を取得する方法について説明します。 R スクリプトの例では、インストール パスやバージョンなどのパッケージ情報を一覧表示する方法を示しています。

この記事では、Azure SQL Managed Instance の Machine Learning Services にインストールされている R パッケージに関する情報を取得する方法について説明します。 R スクリプトの例では、インストール パスやバージョンなどのパッケージ情報を一覧表示する方法を示しています。

注意

機能とインストール オプションは、SQL Server のバージョンによって異なります。 バージョン セレクターのドロップダウンを使用して適切なバージョンの SQL Server を選択します。

R ライブラリの既定の場所

SQL Server と共に機械学習をインストールすると、インストールした言語ごとに 1 つのパッケージ ライブラリがインスタンス レベルで作成されます。 このインスタンス ライブラリは、Windows では SQL Server に登録されているセキュリティで保護されたフォルダーです。

SQL Server のデータベース内で実行されるすべてのスクリプトは、インスタンス ライブラリから関数を読み込む必要があります。 SQL Server は、他のライブラリにインストールされているパッケージにはアクセスできません。 これはリモート クライアントにも当てはまります。サーバーの計算のコンテキストで実行されているすべての R スクリプトは、インスタンス ライブラリにインストールされているパッケージしか使用できません。 既定のインスタンス ライブラリは、サーバーの資産を保護するために、コンピューターの管理者のみが変更できるようになっています。

R のバイナリの既定のパスは次のとおりです。

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

既定の SQL インスタンスは、MSSQLSERVER と想定されています。 SQL Server がユーザー定義の名前付きインスタンスとしてインストールされている場合、代わりにその指定の名前を使用します。

R のバイナリの既定のパスは次のとおりです。

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

既定の SQL インスタンスは、MSSQLSERVER と想定されています。 SQL Server がユーザー定義の名前付きインスタンスとしてインストールされている場合、代わりにその指定の名前を使用します。

R のバイナリの既定のパスは次のとおりです。

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

既定の SQL インスタンスは、MSSQLSERVER と想定されています。 SQL Server がユーザー定義の名前付きインスタンスとしてインストールされている場合、代わりにその指定の名前を使用します。

次のステートメントを実行すると、現在のインスタンスの既定の R パッケージ ライブラリを確認することができます。

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

既定の Microsoft R パッケージ

次の Microsoft R パッケージは、SQL Server R Services と共にインストールされます。

パッケージ Version 説明
RevoScaleR 8.0.3 リモートでの計算のコンテキスト、ストリーミング、データのインポートと変換、モデリング、視覚化、および分析での rx 関数の並列実行で使用します。
sqlrutils 1.0.0 ストアド プロシージャに R スクリプトを含めるために使用します。

既定の Microsoft R パッケージ

次の Microsoft R パッケージは、セットアップ時に R 機能を選択すると、SQL Server Machine Learning Services と共にインストールされます。

パッケージ Version 説明
RevoScaleR 9.2 リモートでの計算のコンテキスト、ストリーミング、データのインポートと変換、モデリング、視覚化、および分析での rx 関数の並列実行で使用します。
sqlrutils 1.0.0 ストアド プロシージャに R スクリプトを含めるために使用します。
MicrosoftML 1.4.0 R に機械学習アルゴリズムを追加します。
olapR 1.0.0 R で MDX ステートメントを記述するために使用します。

既定の Microsoft R パッケージ

次の Microsoft R パッケージは、セットアップ時に R 機能を選択すると、SQL Server Machine Learning Services と共にインストールされます。

パッケージ Version 説明
RevoScaleR 9.4.7 リモートでの計算のコンテキスト、ストリーミング、データのインポートと変換、モデリング、視覚化、および分析での rx 関数の並列実行で使用します。
sqlrutils 1.0.0 ストアド プロシージャに R スクリプトを含めるために使用します。
MicrosoftML 9.4.7 R に機械学習アルゴリズムを追加します。
olapR 1.0.0 R で MDX ステートメントを記述するために使用します。

コンポーネントのアップグレード

既定で R パッケージは、サービス パックと累積的な更新プログラムで更新されます。 その他のパッケージおよび R のコア コンポーネントのバージョンの完全アップグレードは、製品のアップグレードによってのみ可能です。

また、コンポーネントをアップグレードすると、MicrosoftML および olapR パッケージを SQL Server インスタンスに追加することもできます。

既定のオープンソースの R パッケージ

R では、オープンソースの R をサポートしているので、base R 関数を呼び出して、オープンソースおよびサードパーティ パッケージを追加インストールできます。 R 言語では、basestatsutils などのコア機能をサポートしています。 R の基本インストールには、RGui (軽量の対話型エディター) や RTerm (R のコマンド プロンプト) などの多数のサンプル データセットや、標準の R ツールも含まれています。

SQL Server バージョンごとに含まれている R のバージョンの詳細については、「Python および R のバージョン」を参照してください。

重要

SQL Server のセットアップでインストールされた R のバージョンは、手動で Web 上の新しいバージョンに上書きしないでください。 Microsoft R パッケージは、R の特定のバージョンに基づいています。インストールを変更すると、それが不安定になる可能性があります。

インストールされているすべての R パッケージの列挙

次の Transact-SQL ストアド プロシージャの例では、R 関数 installed.packages() を使用して、現在の SQL インスタンスの R_SERVICES ライブラリにインストールされている R パッケージを一覧表示します。 このスクリプトでは、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) ))

R パッケージの DESCRIPTION フィールドのオプション フィールドおよび既定フィールドの詳細については、「https://cran.r-project.org」を参照してください。

1 つの R パッケージの検索

インストールした R パッケージが、特定の SQL Server インスタンスで使用できることを確認したい場合、ストアド プロシージャを実行してパッケージを読み込み、メッセージが返されるようにします。

たとえば、次のステートメントは、使用可能な場合に glue パッケージを検索して読み込みます。 パッケージが見つからないか、または読み込めない場合は、エラーが発生します。

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

パッケージの詳細については、「packageDescription」を参照してください。 次のステートメントでは、MicrosoftML パッケージの情報が返されます。

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

次のステップ