Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Microsoft Japan Data Platform Tech Sales Team
倉重 秀昭 / Hideaki Kurashige
こちらの記事でもご紹介させていただいている通り、SQL Server 2016 では 新たに SQL Server R Services という R の実行基盤が加わりました。
この SQL Server R Services について、マイクロソフト米国本社の Customer Advisory Team ( 通称 CAT ) が 、彼らの Blog 上で SQL Server R Services を利用するにあたっての Tips をまとめています。今回はその中から特に役に立つと思われる項目を取り上げ、付加情報も加えて詳しく解説していきたいと思います。
(1) SQL Server R Services が正しくインストールされている事を確認する方法
SQL Server R Services を実際に業務で使う場合、環境構築担当者と実際にRを使って分析するデータ分析担当が別々というケースがよくあります。
このように環境構築担当と分析担当が異なる場合、ごくまれに環境構築の担当者はインストールが上手くいったと認識しているにもかかわらず、実際には環境構築が上手くいっておらず、分析担当の方が R を使おうとすると上手く動かないという事があります。
この様な事を防ぐために、環境構築の担当者は、以下の T-SQL を実行する事で SQL Server R Services が正しくインストールされているかを確認する事ができます。
■ SQL Server R Services のインストール正常性を確認するための T-SQL
|
SQL Server R Services が正しくインストールされていれば、結果として1が帰ってきます。
返り値がそれ以外の場合には、正しくインストールされていないという事になります。その場合は、トラブルシュートが必要になりますが、トラブルシュートには以下のページが参考になります。
(2) インストール済みのパッケージを確認する方法
R を使って分析や開発を行う場合、CRAN 等で公開されているパッケージを利用する事が多いと思いますが
以下のスクリプトを実行する事で、既にインストールされている パッケージを確認する事が可能です。
【方法1】SQL Server Data Tools から T-SQL を使って確認する方法
|
【方法2】R Studio などの IDE から R を使って確認する方法
|
SQL Server R Services をインストールした直後の状態では、以下のパッケージがインストールされています。
base | foreign | mgcv | RevoRsrConnector | stats4 |
boot | graphics | nlme | RevoScaleR | survival |
class | grDevices | nnet | RevoTreeView | tcltk |
cluster | grid | parallel | RevoUtils | tools |
codetools | iterators | pkgXMLBuilder | RevoUtilsMath | translations |
KernSmooth | RevoIOQ | rpart | utils | |
datasets | lattice | revoIpe | RUnit | XML |
doParallel | MASS | RevoMods | spatial | utils |
doRSR | Matrix | RevoPemaR | splines | |
foreach | methods | RevoRpeConnector | stats |
各パッケージの詳細は以下のページから確認することが可能です。
※リンク先ページは、Microsoft R Application Network(MRAN)という弊社の公式ページで、Microsoft R に関する様々な情報を掲載したポータルサイトです。
https://mran.microsoft.com/rro/installed/
(3) インターネット接続の無い環境でパッケージをインストールする方法
SQL Server R Services を用いて実業務で分析等を行う場合、セキュリティーの観点から サーバーをインターネットに接続させない事も多いと思います。
インターネットに接続していない環境でパッケージを追加する場合は、インターネットに接続された別のマシンからパッケージのバイナリファイルをダウンロードし、SQL Server がインストールされたマシンにコピーしてインストールを行います。
ただ、あるパッケージをインストールしようとすると、そのパッケージが依存する別のパッケージのインストールも必要になる事がほとんどだと思います。手作業で依存するパッケージを調べ、そのパッケージを一つ一つダウンロードしてインストールする事も可能ですが、非常に手間がかかってしまいます。この様な場合には miniCRAN パッケージを利用すると、効率よくパッケージをインストールすることが可能になります( miniCRAN は、パッケージ間の依存関係を取得・可視化したり、ローカル上にパッケージのリポジトリを作成するための機能を提供しているパッケージです)。
次に miniCRAN を使い、インターネット接続の無い環境での追加パッケージのインストール方法について、簡単に紹介してみたいと思います。
miniCRAN を用いた、オフライン環境へのパッケージ追加方法は大まかに以下のような流れになります。
手順1 インターネットに接続可能な R 実行環境と IDE がインストールされた端末から、以下の R コマンドを実行して、インストール対象のパッケージと依存するパッケージをダウンロードして端末上にパッケージのリポジトリを作成します。
|
(※1) 以下の様なエラーメッセージが表示された場合には、install.packages(“stringi”) を実行してstringi パッケージを追加でインストールします。
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :‘stringi’ という名前のパッケージはありません |
(※2) パッケージファイルを一括ダウンロードする方法として、download.packages 関数を使う方法もありますが、この場合はリポジトリは作成されずに単純にパッケージファイルがダウンロードされるだけです。そのため SQL Server R Services にパッケージをインストールする際には、依存するパッケージを一つ一つ指定してインストールする必要があります。一方 makeRepo を使用するとパッケージリポジトリが作成されますので、パッケージをインストールする際に、install.package 関数の引数に dependencies=TRUE と記載するだけで、関連するパッケージも自動的にインストールされるようになります。
手順2 手順1で作成したリポジトリをディレクトリ(今回の例では C:\miniCRAN ディレクトリ)ごと、 DVD-R・USB メモリ等の媒体を使って、SQL Server R Services サーバにコピーします。
手順3 SQL Server R Services サーバーで R の IDE を起動して、以下のRスクリプトを実行して パッケージをインストールします。
|
今回は、SQLServer R Services を初めて使う人のための Tips 集として、環境構築やパッケージ管理に関する事項について紹介いたしました。
次回はデータの可視化についての Tips をご紹介する予定です。