Microsoft Azure Machine LearningとDataSpiderの共同ハンズオンセミナー向け情報


#ハンズオンシナリオ
![AzureML_DSS共同セミナー資料_V4_01.jpg](https://qiita-image-store.s3.amazonaws.com/0/108704/470d51b4-6454-ffc3-acd1-228e62607e4b.jpeg)


#DataSpider機能紹介 
・DataSpider Server
　　DataSpiderの処理を実行するサーバーエンジンです。DataSpiderを利用するためには
　　必ず起動しておく必要があります。
・DataSpider Studio
　　DataSpiderの処理を作成するクライアント・アプリケーションです。
 　　・インストールして利用するもの
　　・Webブラウザで利用するもの
　　2つのStudioがあります。ハンズオンではWeb版のStudioを利用します。
・アダプタ
　　DataSpiderにおいて外部システムとのインターフェイスを担う機能です。
 　　各外部システムごとにアダプタが用意されています。
 　　また、アダプタによって実行可能な機能に差があります。
・グローバルリソース
　　アダプタが利用する接続先の設定です。この設定はプロジェクトをまたいで利用することが
　　できます。
・トリガー
　　DataSpiderの処理を何かしらのきっかけを用いて自動実行する仕組みです。
・コントロールパネル
　　DataSpiderの各種設定をGUIで行うことのできる設定パネルです。

#DataSpiderの使い方 
・DataSpiderの処理の概念
 　　DataSpiderの処理の最小単位はスクリプトです。スクリプトは複数のアダプタや
　　その他制御アイコンによって形成されます。
 　　連携処理一本が一つのスクリプトとお考えください。そのスクリプトの集合体がプロジェクトです。
 　　プロジェクトの中に複数スクリプトを作成することができます。
・スクリプトの作り方
 　　DataSpider Studio内にあるデザイナというツールを利用します。デザイナを開くと
　　キャンバスとツールパレットが表示されますので、ツールパレットより処理を行いたいアダプタのアイコンを
　　キャンバスに貼り付けて処理を作成します。
 　　最後にStartアイコンからEndアイコンまでドラッグ＆ドロップで線を引いて完成です。
・Mapperの使い方
 　　スクリプト内でデータの構造や値の変換を行いたい時にはMapperというツールを利用します。
 　　入力と出力の処理をそれぞれ作りその間にMapperを作成すると、
 　　・左側に入力元
 　　・右側に出力先
 　　のデータの構造が表示されます。
 　　それぞれの項目をドラッグ＆ドロップでマッピングすることでデータの構造の変換が可能です。
 　　また、ツールパレットがMapper用のものに切り替わってきますので、その中に含まれる関数アイコン
　　(ロジックアイコンと呼びます)をマッピングの間に挟むことで、データそのものの加工や変換が可能です。

#接続情報 
・DataSpider　Web版Studio（公開は終了しました）
　　user1~user10
　　 URL:http://40.115.189.185:7700/WebStudio/　
　　user11~user20
　　 URL:http://40.115.190.235:7700/WebStudio/
　　user21~user30
　　 URL:http://40.115.191.204:7700/WebStudio/
　　user31~user40
　　 URL:http://40.115.166.9:7700/WebStudio/
　　user41~user50
　　 URL:http://40.115.185.124:7700/WebStudio/

#ハンズオン手順 
1.[新しいプロジェクト]をクリックしてプロジェクトを作成します。一緒にスクリプトも作成できます。
2.右側のツールパレットから[クラウド][Azure BLOBストレージアダプタ]を開きます。
3.[ファイルディレクトリ書き込み]のアイコンをキャンバスに向かってドラッグ＆ドロップします。
4.接続先をクリックして[AzureBLOBストレージ出力接続設定]を選択します。
　　ローカルディレクトリ：/data/dssxazure-demo/azure
　　ファイル/ディレクトリ名：input-predictive-user.csv
　　コンテナ名：recommendation
 　※処理の名称は任意
5.右側のツールパレットから[クラウド][Azure Machine Learning]を開きます。
6.[ジョブ実行]のアイコンをキャンバスに向かってドラッグ＆ドロップします。
7.接続先をクリックして[Azure Machine Learning接続設定]を選択します。
　　ジョブ実行完了を待機するにチェック
　　Web service inputに渡すBLOBを指定するにチェック
　　接続先BLOBストレージ：Azure BLOBストレージ接続設定
　　コンテナ名から始まるBLOBのパス：recommendation/input-predictive-user.csv
　※処理の名称は任意
8.スクリプト変数の設定
　directory、filedirectoryの二つを作成します。
9.変数Mapperの設定を行います。
　　[基本][処理]を開きます。
10.[変数代入]のアイコンをキャンバスに向かってドラッグ＆ドロップします。
11.MapperのアイコンをダブルクリックしてMapperの画面を開きます。
12.右側ツールパレットから[文字列][変換]を開きます。
13.[正規表現置換]のアイコンを設定画面中央に向かってドラッグ＆ドロップします。（2回）
14.正規表現置換アイコンを開きそれぞれに設定を行います。
　　①
　　置換前文字列(正規表現パターン)：(^.+)\∕(.+)\∕(.+)$
　　置換後文字列：$2
　　②
　　置換前文字列(正規表現パターン)：(^.+)\∕(.+)\∕ (.+)$
　　置換後文字列：$3
15.入力データ[AzureMLのWebサービスを実行する]-[job]-[output]のrelative_location
　　とアイコン①と出力データ[スクリプト変数]-[directory]をつなぎます。
16.入力データ[AzureMLのWebサービスを実行する]-[job]-[output]のrelative_location
　　とアイコン②と出力データ[スクリプト変数]-[filedirectory]をつなぎます。　
17.右側のツールパレットから[クラウド][Azure BLOBストレージアダプタ]を開きます。
18.[ファイル/ディレクトリ読み取り]のアイコンをキャンバスに向かってドラッグ＆ドロップします。
19.接続先をクリックして「Azure BLOBストレージ出力接続設定」を選択します。
　　コンテナ名：experimentoutput
　　仮想ディレクトリ：変数設定　${directory}
　　ファイル/ディレクトリ名：変数設定　${filedirectory}
　　ローカルディレクトリ： /data/dssxazure-demo/azure
　　ファイルが存在する場合は上書きするにチェック
　※処理の名称は任意
20.Startアイコン、BLOBアイコン、MachineLearningのアイコン、BLOBアイコン、Endアイコンと線を引きます。
   (Mapperは設定した段階でプロセス（黒）及びデータ（黄）の線で結ばれています）
21.実行ボタンを押下してスクリプトを実行します。


#リンク 
・[Appressoホームページ](http://dataspider.appresso.com/)
・[Data Spider Technical Network](http://dstn.appresso.com/)