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 言語では、base、stats、utils などのコア機能をサポートしています。 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"))
'