写真●2014年7月に東京で開催されたHadoopのイベント「Hadoop Conference Japan 2014」で、Sparkの試行結果について発表するNTTデータ基盤システム事業本部 システム方式技術ビジネスユニット OSSプロフェッショナルサービスの土橋昌主任
写真●2014年7月に東京で開催されたHadoopのイベント「Hadoop Conference Japan 2014」で、Sparkの試行結果について発表するNTTデータ基盤システム事業本部 システム方式技術ビジネスユニット OSSプロフェッショナルサービスの土橋昌主任
[画像のクリックで拡大表示]

 Hadoopによる分散クラスターを使ってビッグデータをインメモリーで高速処理できるソフト「Spark」。このSparkによるビッグデータ処理の試行結果を2014年7月、NTTデータが発表した(写真)。Sparkに注目しているユーザー企業であるNTTドコモからの要望を受け、NTTデータが実利用に近い形で約200台(4000コア)のクラスターでSparkを評価した。Sparkの実証例は世界的にもまだ少なく、先駆的な事例といえる。

 Sparkはインメモリー処理が主体のため、Hadoopで一般的な処理方式である「MapReduce」と比べて最大で100倍ほど処理を高速化できる。しかし、クラスター全体のメモリー量を超えるほど大規模なデータを扱った際も実用的な性能が出るかどうかは明確になっていなかった。

 NTTデータは、合計10Tバイトほどのメモリー容量がある約200台のクラスターを用意。そのクラスターを使って、数十Tバイトのデータに対して機械学習などの分析を行った。その結果、「分析アプリケーションの種類にも依存するが、Sparkの設定を詰めるなどの各種チューニング作業を施せば、クラスター全体のメモリー量を超える規模のデータでも概ね実用的に分析できる」(同社基盤システム事業本部 システム方式技術ビジネスユニット OSSプロフェッショナルサービスの土橋昌主任)ことが分かった。

膨大なユーザー抱えるキャリアがSparkに注目

 今回、NTTデータがテストしたのはNTTドコモからの要請があったためだ。NTTドコモは2009年から、1000台を超える規模のHadoopクラスタを自社で運用している(関連記事:NTTドコモ、1000台超の汎用サーバーで構成するHadoopシステムを解説)。「分析のスループットや処理の遅延を改善したくて、SparkやStormに着目した」(NTTドコモ 先進技術研究所の田中聡氏)という。

 NTTドコモはHadoopクラスターの管理に「YARN」を利用している。YARNは、Hadoopのバージョン2で新たに導入されたリソース管理ソフト。SparkはYARN上でも実行できる。NTTドコモの既存のインフラを生かせる点もSparkに関心を持った理由だ。