[Microsoft Tech Summit (11/1-2) ] (DAT011) “HDInsight + Spark + R を活用した機械学習のためのスケーラブルなビッグデータ分析基盤” セッションフォローアップ

 

Microsoft Japan Data Platform Tech Sales Team

Team しんご

 

 弊社イベント Microsoft Tech Summit(11/1 –11/2) にて実施したセッション「HDInsight + Spark + R を活用した機械学習のためのスケーラブルなビッグデータ分析基盤」の中でいくつかデモを実施させていただきました。このデモは Azure のサブスクリプションをお持ちであれば、ご自身で試していただくことが可能です。

本記事では、評価環境の構築方法や実際のデモスクリプトの実行方法についてご紹介させていただきたいと思います。

 

評価環境構築方法

 

評価環境は、大きく分けて以下の2つのステップで構築することが可能です。

(1)HDInsight(+R Server) の環境作成

(2)開発環境 (R Studio Server) の整備

 

以下、各ステップの詳細を説明します。

 

(1) HDInsight (+R Server) の環境作成

HDInsight(+ R Server) は、以下のようにウィザードに従っていくだけで環境を構築することが可能です。

 

① Azure Portal (portal.azure.com) の左メニューから、「その他のサービス」を選び、メニュー上部の検索フォームに「HDInsight」と入力。検索結果として「HDInsight クラスター」が表示されるので、クリックします。

image

 

② 右上にある「+追加」ボタンをクリックします。

image

 

③ HDInsight の構成情報を設定します。設定項目「クラスター構成」の「クラスターの種類」で「R Server (プレビュー)」を選択すると R+ HDInsight の環境が作成されます。

全ての必須項目を入力して、「作成」ボタンをクリックすると「HDInsight」の作成が開始されます。

image

 

 

(2) 開発環境 (R Studio Server) の整備

次に 開発環境の整備方法について紹介をしたいと思います。

R の開発ツールは、弊社のVisual Studio をはじめとして様々なツールが出ていますが、Tech Summit では R Studio Server を使用してデモを行いましたので、本記事では R Studio Server の環境整備方法について紹介したいと思います。

R Studio Server の環境整備は以下のような手順となります。

2-1. R Server エッジノードへ R Studio Server インストール

2-2. クライアントPCからの接続環境整備

 

2-1. R Server エッジノードへ R Studio Server インストール 

① R Server エッジノードへ、SSH接続

Putty 等の SSH クライアントから R Server エッジノードに SSH 接続します。
Putty を利用する場合には、接続設定画面で Host Name Connection Type(=SSH) を入力して「Open」をクリックします。

image

 

※ 接続先の R Server のエッジノードの Host Name は、Azure 管理ポータルから確認することが可能です。

image

 

② R Server エッジノードに R Studio Server をインストール

次にエッジノードで以下のコマンドを実行して、R Studio Server をインストールします。

 sudo su –
 wget https://mrsactionscripts.blob.core.windows.net/rstudio-server-community-v01/InstallRStudio.sh
 chmod 755 InstallRStudio.sh
 ./InstallRStudio.sh

 

 

2-2. クライアントPCからの接続環境整備

通常の環境では ブラウザから R Studio をインストールしたサーバーの 8787 ポート にアクセスして R Studio が利用しますが、HDInsightでは、外部から直接 8787ポートにアクセスすることができません。そのためSSH ポートフォワーディング機能を利用し、ローカルホストの8787ポートに送られたパケットを エッジノードの8787ポートに転送するように設定して、ブラウザから localhost:8787 を指定して R Studio を利用します。

 

※ SSH ポートフォワーディングの設定例(以下は Putty を利用した場合)

image

 

接続後、ブラウザから「https://localhost:8787」にアクセスし、以下のような画面が出れば設定完了です。

image

※R Studio Server へのログインは、HDInsight 作成時に設定したユーザー名とパスワードを使用します。HDInsight 作成時に認証方式として「証明書」を選択した場合にはパスワードが設定されませんので、証明書をつかって R Server エッジノードに SSH でログインした後、passwd コマンドを使ってパスワードを設定する必要があります。

 

デモスクリプトの実行について

今回の Tech Summit でご紹介させていただいたデモのスクリプトは GIthub からダウンロードし、チュートリアルに従って実際に試していただくことが可能です。

https://github.com/Azure/Azure-MachineLearning-DataScience/tree/master/Misc/KDDCup2016

 

また、Tech Summit では R スクリプトの定義内容について、日本語のコメント付きのソースをご覧いただきながら紹介させていただきました。
日本語のコメント付きのソースは以下のリンクからダウンロードしていただくことが可能ですので、必要に応じて御覧ください。

R_SampleCode