虹色の雲でRを動かす
※この記事は R Advent Calendar 2015 - Qiita の 12日目の記事です。
最近、何故か色々なクラウドで分析のお仕事をしてます(泣)。私の頭は、それぞれの雲の色が入り乱れて真っ黒に?なりそうなので、備忘録がてらに各クラウドでのRの使い方をまとめてみました。
以下の、基本方針や注意事項や
- 便利なモノは使うに限る。昔はイチから作る気概があった気もしましたが、最近はすっかり易きに…。
- 各サービスでのアカウントの作り方、料金体系、無料枠の範囲等については、各サービスでの最新情報をご参照ください。
- 色の表記は私の適当です。公式ではこう言っている、なツッコミはご教示頂ければ幸いです。
- この色は虹にないぞ、なツッコミは無視しますw
- (言い訳ですが)12日目を確保した数日後、ドンピシャで週末を全部潰す地方遠征が決定してしまいました…。後で、加筆UPDATEします。
AWS(オレンジ)
- 後で、19日目の記事にリンクします。
Azure(空色)
最近、見た目や操作方法が大幅に変わり、私は只今大混乱中です…。
なお以下Azureの記述の一部は、既にぞうさん通信(2015/12/7)でも挙げられております。
Rの使い方その1:AzureのVMを使う
極力楽をするとの方針に従えば、Microsoft's new Data Science Virtual Machineで紹介されているとおり、Microsoft Data Science Virtual Machineを使うに限ります。具体的な手順は、以下記事をご参照下さい。
azure.microsoft.com
なお、用意されているものは以下のとおりです。普通に仕事で分析をするには、ほぼ困らなさそうな品揃えです。
- Revolution R Open
- Anaconda Python distribution
- Visual Studio Community Edition
- Power BI desktop
- SQL Server Express edition
- Azure SDK
Rの使い方その2:Azure Machine Learning(ML)のRノードを使う方法
手軽に高性能のアルゴリズムを使いたい*1、自作APIを作りたい、のときの有力な選択肢と思います。
(少々脱線ですが)12/10に、Azure Stream AnalyticsからAzure MLを操作出来るようになったとの事です。なんかにかこつけて、遊んでみたいと思います。
Azure ML Now Available as a Function in Azure Stream Analytics - Machine Learning - Site Home - TechNet Blogs
ここでは、MLでのRノードでRコードを記述する際の注意点を挙げます。
(後で色々加筆します。長くなったならば、ページを分割します。)
- INPUT/OUTPUTは、data.frame形式のみしか受け付けない
- Azure ML上で用意されていないpackageを使う際は、依存pakeageも含めて全て、事前にzip形式でUPする必要がある
- 用意されているpakeage一覧を取得する方法を書く
- install.packageでのpathの指定方法がややトリッキー(なので、何かしたら上手く成功したのですが、肝心の「何をしたのか」のメモを紛失してしまい、只今大弱り。)
- この記述によると、並列実行が出来ない、との事。Azure MLでは、折角A8インスタンス(Intel Xeon E5-2670 8コア@2.6 GHz + DDR3-1600 MHz 56 GB)を使っているのに。
参考
Google Cloud Platform(水色+赤+黄色)
GCPでRを立てた経験はないです。易きに流れる、の基本方針に沿うと、こんな記事が良さげに見えました(が、当然実際の検証はしておりません。)
markedmondson.me
IBM BlueMix(水色+黒)
(後で色々加筆します。長くなりそうなので、恐らくページを分割します。)
BlueMixでのPaaSの構成方法
現時点(2015年12月)では、以下の2(+1)通りあります。
Rの使い方その1:dashDBを使う
- デフォルトで、dashDB(DB2 ?)+ R Studioが用意済。起動はマウスクリックのみで可能
- DBとのやりとりは、ibmdbRパッケージを使う
Rの使い方その2:node-REDから使う
- IoTのセンサーデータ解析なら、これをやりたい!
- 基本戦略は、dashDBのインスタンスに、POSTコマンドを打つ。結果はDBに保存する
- DBとのやりとりは、ibmdbRパッケージを使う
注意点
- sudo権限が無いので、依存関係でsudoを要求するパッケージ(例えばdevtools)は利用できない。痛い
- 不揮発データは、DBに格納するしかない。node-REDからgetwd()すると、毎回pathが変わるという謎
- DBのデータが1Gを越えると有料枠に掛かる。dashDBは2015年12月現在で月5250円~、と結構お高い