HDInsightを知る~ビッグデータ×クラウド

第1回 HDInsightとは何か?

この記事を読むのに必要な時間:およそ 3 分

HDInsightとBLOBストレージ

BLOBストレージはWindows Azureの基本機能の一つで,非常に大容量(1ストレージアカウントあたり200TBまで)かつ安価(1Gバイト/1ヵ月で6円程度)なストレージサービスです。

実はHDInsightでは,Hadoopの大きな特徴であるHDFSではなく,このBLOBストレージをデフォルトのファイルシステムとして利用します。これは,次のような理由によります。

データはそこ(BLOB)にある

BLOBストレージはWindows Azure上のデータ集積場所として広く利用されているため,分析対象データは「すでにBLOBに存在する」ことが多いです(Windows Azure DiagnosticsによってBLOBストレージへ収集されるログファイルなどは典型的な例⁠⁠。そのため,BLOBをそのまま分散ファイルシステムとして扱うことで,データを一旦HDFSへコピーする方式よりも効率的にMapReduce処理を実行することができます。

コスト効率

HDInsightサービスでは,処理を実行しない時間はクラスタを削除することで課金を抑制できます。しかし,HDFSの実体はデータノードのローカルディスクであり,クラスタを削除すると当然失われてしまいます。データをBLOBストレージに配置することで,⁠処理を実行する間だけクラスタを起動する」という効率の良い使い方が可能になります。

また,BLOBストレージには,それにアクセスするためのクライアントツールが豊富に存在しますが,これらのツールをそのままHDInsightクラスタとのやりとりに利用できるというメリットもあります。

GUIツールの一例としては,以下のようなものがあります。

この他,コマンドラインツールの⁠AzCopy⁠も利用可能です。これはWindows環境でよく利用されている⁠robocopy⁠と似た書式で,WindowsマシンとBLOBストレージ間(あるいは,2つの異なるBLOBストレージ間)でファイルのコピーを行える便利なコマンドです。AzCopyはこちらからダウンロード可能です。

なお,BLOBストレージは,多くのストレージサーバが高速なネットワークで接続された分散ストレージサービスです。HDFSのような⁠Rack Awareness⁠こそありませんが,データを自動的に複数のサーバに分散配置し,かつ最低3つのレプリカを維持することで性能と信頼性を確保しています。その詳細なアーキテクチャについては,設計者自身がSOSPに発表した論文が非常に面白いので,ぜひご覧ください。

また,BLOBストレージの性能についてはこちらに情報があります。

Excelなどから簡単にアクセス

クラスタの構築が容易であるだけでなく,⁠Excelのような身近なツールでデータにアクセスできる」ということもHDInsightの大きな利点です。

Hive ODBC Driver

Windows PCにこのドライバをインストールすると,HDInsight上のHiveテーブルをODBCのデータソースとすることができます。まるで普通のデータベースであるかのように,Hiveを利用できるわけです。

Hive ODBC Driverはこちらからダウンロードできます。

また,ドライバのダウンロード,ODBCデータソースの構成,Excelからの接続という一連の手順が,次のページで説明されています。

Power Query for Excelを使ったHDInsightへの接続

Power Query for Excelは,さまざまなデータソースからのデータ取り込みを実現するExcelのアドインです。Facebookのフィードを取り込むデモを最近よく見るのですが,そのたびにメニューにある⁠From Windows Azure HDInsight⁠図3のほうが気になってしまうのは私だけでしょうか。

図3 PowerQueryはHDInsightのデータを取り込める

図3 PowerQueryはHDInsightのデータを取り込める

Hive ODBC Driverがあくまで「Hiveのテーブル」を対象とするものであるのに対し,Power QueryはHadoopのファイルシステムを直接見に行きます。HDInsightの場合は,BLOBストレージ上のファイルを何でも取り込めるということになります。

こちらも,一連の手順が次のページで説明されています。

HDInsight活用事例

HDInsightサービスは,正式リリース前からMicrosoft社内のさまざまなプロジェクトで利用されていました。中でも,Xbox 360用のゲーム⁠Halo 4⁠を開発した⁠343 Industries⁠での活用例は大規模です。

Halo 4のマルチプレーヤ機能などの重要なバックエンドサービスは,Windows Azure上に構築されており,それゆえゲームデータはすべてAzure上に存在します。彼らはこの膨大なデータをもとにユーザの行動を分析するソリューションとして,HDInsightを採用しました。データをBLOBストレージに保存し,Hive ODBC Driverを通じてアクセスできるようにしたのです。

フロントエンド側はPowerPivot for SharePointを利用して,Webブラウザでレポートを閲覧できるようにしました。これによって,ユーザーのプレイ時間やよく利用される機能といった傾向を把握し,迅速にアップデートをリリースすることができたのです。

今後も様々な分野でHDInsightが活用されることでしょう。

次回は実践編

今回は,Windows Azure HDInsightサービスの成り立ちと概要をお伝えしました。

次回は,Microsoft .NET SDK For Hadoopを使ってC#でMapReduceプログラムを作成するなど,実践的な内容を予定しています。

Windows Azure Webサイトハンズオン+Wordpress
徹底解説セミナー参加無料!

数クリックで瞬時にWebサイトが構築できるWindows Azureをハンズオンで体験! 大阪,福岡,仙台開催

URL:http://resocia.jp/skillup/azure/wp/

著者プロフィール

佐々木邦暢(ささきくにのぶ)

日本マイクロソフト株式会社 ビジネスプラットフォーム統括本部 インキュベーション・セールス部

Twitter:@ksasakims

バックナンバー

HDInsightを知る~ビッグデータ×クラウド