Azure Machine Learning に業務データをフィードする方法の一つにOData があります。
スキーマ情報などの設定なしでフィードできて便利です。
CData API Server はノンコーディングでRDB、SaaS、NoSQL、フラットファイルからAPI を生成できます。API はOData 準拠ですので、Azure Machine Learning にデータをそのままフィードすることが可能です。
この記事では、API Server で生成した「仙台弁API」をOData フィードとしてAzure Machine Learning にデータを入れます。データソースはCData API Server が対応する80を超えるDB、SaaS、NoSQL などを使用可能です。
##API Server の設定##
[MySQL のデータをCData API Server でポチポチだけでREST API として公開する](http://qiita.com/jonathanh/items/fcd9aca3c1eb52206102) を参考にしてください。
データソースはなんでもOKです。
インターネット公開する必要がありますので、[デプロイ]から公開環境にデプロイしてください。
##Azure Machine Learning でデータを取得する##
https://studio.azureml.net/ からAzure Machine Learning Studio にログインします。8時間の無償ゲスト利用が可能です。
[PROJECT]から+をクリックして、新規プロジェクト「Sendaiben」を作成します。
次に[EXPERIMENTS]をクリックし、左下の[+NEW]をクリックします。そのあと[+ Blank Experiment]をクリック。
左から[Data Input and Output]→[Import Data]をドラグして、ドロップ。
ドロップした[Import Data]を右クリックして、[Data Feed Provider]を選択します。
右のプロパティで、以下を入力
- Data Source: Data Feed Provvider
- Data content type: OData
- Data Source URL: API Server のエンドポイントを設定。ただし、以下のようにルートとなるエンドポイントの後に@Auth トークンを挟む必要があります。
他に認証項目を入れる方法がないようです。
http://localhost:8387/api.rsc/@YOURAUTHTOKEN/sendaibenlist/
[Import Data]をもう一度右クリックして、[Run Selected]を押して、データフィードを実行します。
データフィードが完了したら、再度[Import Data]を右クリックして、[Results Dataset]→[Visualize]をクリックします。
すると「仙台弁リスト」がインポートされていることを確認できます。
このように、OData 対応していないSaaS、DB、NoSQL データをAPI Server を使うことで、簡単にAzure Machine Learning にフィードできます。