Cloudera Impalaでサッカーのデータを分析

Impalaをビッグデータの分析に使う

昨日ツイッターにも書きましたが、サッカーの試合でセンサーからのデータを収集し、ClouderaのImapalaで分析するという例がClouderaのブログに掲載されています。
これは DEBS (Distributed Event-Based Systems) のページに公開されているデータ(ドイツの Nuremberg Stadiumで取得したサッカー場のセンサーデータ)を使用しています。
The ACM DEBS 2013 Grand Challenge
下記のリンクから(一週間限定だそうですが)実際に EC2 上に構築した Impala を使ったインタラクティブな分析のデモを利用できるようです。

http://soccer-web.pythian.com/index.html
ヒートマップを使い、選手がどのぐらいの時間そこにいたのか、などをインタラクティブに表示させることができます。
#これ面白いですね。ワールドカップでこのシステムを採用したら相当面白そう。
今回の例のように、センサーから取得できるデータは(センサーの数/種類にもよりますが)膨大になりうります。
試合中に分析するようなリアルタイム性が求められる場合もあれば、収集した大量のデータを試合後にいろいろな確度から分析するような利用ケースもあります。
ビッグデータを分析する場合、SQLを使用したい場合はApache HadoopのHiveを使うことがあります。しかし、HiveはMapReduceを使用することで耐障害性があるのですが低遅延ではありません。むしろ夜間に分析を行い翌朝結果を得る、というようなオフライン(バッチ)処理に適しています。
ClouderaのImpalaは、Hiveと比較して低遅延でクエリを実行することができるソフトウェアです。耐障害性はありませんが、「収集した大量のデータを試合後にいろいろな確度から分析する」という、繰り返し分析を行う利用ケースに適しています。
ハーバード・ビジネス・レビュー誌にも掲載されていますが、「マネー・ボール」の例にもあるように、大量なデータをさまざまな角度から分析するニーズは高まっています。RDBMSに格納して利用されるような、いわゆる「構造化データ」だけではなく、ソーシャルデータ、画像などのような「非構造化データ」との組み合わた分析が増えつつあります。
アメリカの大統領選挙でもビッグデータの分析が行われ、オバマ大統領を再選させた、とも言われています(記事
このようなビッグデータの活用において、Impalaのようなソフトウェアがオープンソースとして登場し、利用できるようになるのは喜ばしいですね!