##SPSS ModelerとCloudantの接続
SPSS Modelerの拡張機能を利用して、Cloudantに接続をします。SPSS ModelerはVersion18(Windows)を利用しました。この方法では、SQL Pushback(*1)の機能が効かないため、データの取得等に相当時間がかかります。あくまでも、Cloudantに格納されたデータの基礎解析目的の用途だと思います。
以下を参考にしました。
Mining Cloud Data with SPSS – Direct Connection of Cloudant to Bluemix
(*1)SQL Pushbackに関しては以下をご参照ください。
##SPSS Modelerのインストール
SPSS Modelerを起動し、メニューの「拡張機能」>「拡張ハブ」から「Cloudant」の拡張を取得します。「拡張の取得」にチェックを入れ、「OK」を押します。
##Rのインストール
以下のサイトから、Rをダウンロードしてインストールします。
R3.3.1はR Essentials for SPSS Modeler’ pluginが未対応なので、R3.2.5 for Wondowsを利用しました。(Previous releasesのリンクからダウンロードできます。)
インストール後、R Consoleを起動し、コマンドを入力実行、以下の3つのパッケージをインストールします。
install.packages('plyr')
install.packages('R4CouchDB')
install.packages('RCurl')
##R Essentials for SPSS Modeler’pluginのインストール
以下のサイトからR Essentials for SPSS Modeler’ pluginをダウンロードしてインストールします。
インストールの途中で、先ほどインストールをしたRのフォルダの指定が必要になります。
インストール後、SPSS Modelerが既に起動している場合には、再起動をしてください。
##接続するCloudantの準備(既にCloudant環境をお持ちの場合にはこのステップは不要です。)
Cloudantのインスタンスを作成します。
Bluemix Consoleにログインし、「カタログ」をクリックします。
カテゴリーの「データおよび分析」を選択し、「Cloudant NoSQL DB」をクリックしてください。
1分弱程度でCloudantサービスの作成が完了し、「LAUNCH」ボタンが出現するのでクリックしてください。Cloudant用のWeb Consoleが起動します。
Cloudantの認証情報を確認するために、アプリケーションとBINDします。
Bluemix Consoleの「ダッシュボード」の「Cloud Foundry アプリ」の「アプリの作成」をクリックします。
「WEB」を選択します。
「SDK for Node.js」を選択します。
「続行」を選択します。
「アプリ名」に任意の名前を入力し「完了」をクリックします。「アプリ名」は他のユーザーと重複しないユニークな名前をつける必要があります。
数分後に「アプリは稼動しています。」が表示されたら作成は完了です。
作成したアプリの概要を選択し、「サービスまたはAPIのバインド」を選択します。
先ほど作成したCloudantインスタンスにチェックをつけ、「追加」を選択します。「再ステージ」をします。
作成したサービスから認証情報を確認できますこれらの情報は今後、SPSSと連携をする際に必要になります。
##Cloudantへサンプルデータを投入する(既にCloudant環境をお持ちの場合にはこのステップは不要です。)
今回、投入するデータは下記のサイトから取得します
Cloudant Consoleに戻り、「Replication」メニューからデータを投入します。
必要項目を入力して「Replicate」をクリックします。
パスワードを聞かれるので、ご自身の認証情報からパスワードを参照し、「Continue Replication」をクリックします。
「Active Tasks」の「Replication」からレプリケーションの進捗が確認できます。
レプリケーションが終了すると「Replication」の「Completed Replications」に記載されます。
「Database」からレプリケーションにより作成したデータベースが確認できます。
作成したデータベース(nytaxi)をクリックします。
先ほどレプリケーションにより投入したデータを確認することができます。
##SPSS ModelerとCloudantの接続
SPSS Modelerを起動します。
「レコード設定」の中に「Cloudant」というノードがあるので、これを使います。
ノードをダブルクリックして、設定をします。
「host」「username」「password」をご自身の認証情報を参照し、設定します。
(認証情報に同じ項目があります。)
「database」は接続するCloudantのデータベースを入力します。
「Advanced setting」で「Document ID」などでフィルターも出来ます。接続テストなどの際には、これを設定したほうが良いです。
「入力」>「ユーザ入力」のノードも必要です。
Cloudantデータベースの項目の数だけ、フィールドをダミーで用意しておきます。
「出力」>「テーブル」の出力ノードで、データを確認します。
ストリームを組むことも可能です。
今回は、タクシーの乗車データから、時間帯別の乗車距離と利用件数のグラフを作成してみました。
##うまく接続できない場合には
まずは、Cloudantにブラウザで接続できるか確認します。
以下のURLで接続します。
https://<ホスト名>/<データベース名>
例)https://XXXXXXXXX-bluemix.cloudant.com/nytaxi
次にSPSS Modelerの「Cloudant」のノードのコンソール出力を確認します。
ブラウザではうまくつながるのに、コンソール出力に「Fail to Connect」などが出ている場合には、Windows FireWallやセキュリティソフトの設定に原因がある場合があります。
##終わりに
SPSS Modelerの「機能拡張」には他にも魅力的な「拡張」がありますので、試していきたいと思います。