Visual Studio で、 Hadoop | あいうえお

あいうえお

  if (Count($misstake) > 0) then GOTO Error_Comment

Microsoft Azure に、HDInsight というサービスがあります。

これは、Azure 版、Hadoop みたいなものです。


Hadoopについて、下記のサイトがわかりやすいと思います。

http://www.atmarkit.co.jp/ait/articles/1106/21/news117.html


HDInsightについて、詳しく確認したい方は、Azureのドキュメントを参照してください。

http://azure.microsoft.com/ja-jp/documentation/services/hdinsight/



このHDInsightに対して、Visual Studioで接続できます。

環境としては、Azure SDK 2.5以上であって、Visual Studio 2013以降がインストールされていることです。


では、ひとまず、やってみましょう!!



1.HDInsightクラスターの作成


Azureのポータルより、接続するHDInsightクラスターを作成します。

作成するのは簡単です。ただ、作成後から削除するまで、課金が発生しますので、注意してください。


簡単なので、スクリーンショット貼り付けだけにしちゃおっと。

作成にかかる時間は、20分くらいです。


01


02


03

完成!!



今回は、Visual Studioで接続するシナリオを考えてますが、Azure PowershellやExcelからも接続することができますし、使っているPCがMacであれば、クロスプラットフォーム コマンドライン インターフェイスを利用することで、直接接続することもできます。


下記の画像は、Excelで接続する場合のスクリーンショットです。
04


■クロスプラットフォーム コマンドライン インターフェイス

http://azure.microsoft.com/ja-jp/documentation/articles/xplat-cli-azure-resource-manager/



2.Visual Studioからの接続


では、今回のメインテーマである、Visual Studioからつなげてみたいと思います。

使っている環境は、Visual Studio 2015 Previewです。

ちなみに、Azureの仮想マシン上で動かしているので、もしお手元にVisual StudioをインストールすることができるPCがない方でも試すことができます。


ここも、スクリーンショット貼り付けですw




Visual Studioを起動し、「サーバエクスプローラー」を開きます。

Azure SDK 2.5がインストールされますと、下記のスクリーンショットのように、

 ・HDInsight

 ・Service Bus

 ・SQL データベース

 ・Webサイト

 ・クラウドサービス

 ・ストレージ

 ・モバイルサービス

 ・仮想マシン

 ・通知ハブ

と、沢山のサービスに接続することができます。


Visual Studio だけで、結構広い範囲で、Azureを操作することができます。

一部のサービスは、Visual Studioから新規サービスを作ることもできますが、

HDInsightについては、残念ながら今時点ではサービス作成はできないです。


05


ちょこっと、Visual StudioからHiveコマンドを発行してみようと思います。

右クリックメニューから、「Write a Hive Query」を選択します。
06


サンプルに乗っています、下記を実行します。

select country, state, count(*) as records from hivesampletable group by country, state order by records desc limit 5
07


ジョブが実行されたことが、下記の画面で確認できます。
08


結果は、「View Hive Jobs」で確認することができます。
09


確認すると、ジョブの実行明細が表示されます。

タイミングによっては、まだすべてのジョブが終わってなくて実行中かもしれません。

先ほど、確認したジョブの画面は、ジョブを実行するキューにつんだことに成功したことを表しているっぽいです。

下記のように、map / reduceまで終わっていれば、結果を確認することができます。
10


Hiveを実行した結果の確認画面です。

もちろん、AzurePowershellなどで同じHiveコマンドを実行すると、同じ結果が応答されます。
11


3.まとめ


HadoopのようなHPCと呼ばれる世界も、Azureでは扱うことができます。

しかも、今回のように、非常にお手軽に操作できます。


料金は、ほかのAzureのサービスと比べると割高な印象はありますが、

サービスの裏で、何ノードもHPC用の仮想マシンを動かしていると思うと、

こんなもんかなって気もします。


また、MSDNやのサブスクライバーには、Azureの一部のサービスに25%の割引がついており、

HDInsightも対象となっています。

http://azure.microsoft.com/ja-jp/pricing/member-offers/msdn-benefits-details/


今回の作業のために、4時間くらいHDInsightを動かしっぱなしにしましたが、

だいたい課金は600円くらいでした。(ほかの作業もしてたので、もうちょっと安いかも)


このHPCの世界とIoTの世界が結合していったら、また面白いITの世界になるんだろうなー。