写真●Hadoopオリジナル開発者のダグ・カッティング氏
写真●Hadoopオリジナル開発者のダグ・カッティング氏
[画像のクリックで拡大表示]

 オープンソースソフトウエア(OSS)の分散データ処理ソフト「Hadoop」が、大きな変貌を遂げ始めている。バッチ処理だけでなく、SQLクエリーを使ったインタラクティブ分析やインメモリー処理、機械学習処理などへと適用領域を広げているからだ。Hadoopのオリジナル開発者であるダグ・カッティング氏は、「新しい時代が始まった」と語る。

現在のHadoopの状況をどのように見ているか?

 同じような機能を備えたコンポーネントが複数提案されるなど重複はあるが、技術開発は非常に高速に進んでいる。(米Apacheソフトウエア財団が2013年10月に正式版をリリースした)スケジューラーの「YARN」によって、(Hadoopのストレージシステムである)「HDFS」の上に、様々なテクノロジーを共存できるようになったことが大きい。私が特に驚いているのは、(DAG:Directed Acyclic Graph=有向非循環グラフ)をベースにした汎用の並列処理エンジンである)「Spark」の成長が速いことだ。

 Sparkや、同じコンセプトの汎用並列処理エンジンである「Tez」は、どちらも米マイクロソフトが開発した「Dryad」のアイデアを参考にしている。Dryadのような(DAGベースの汎用並列処理エンジンという)アイデアは昔からあったが、Hadoopエコシステムがそれを取り入れることで、技術の進化が加速している。SparkやTezが、Hadoopが当初から採用する並列処理の仕組みである「MapReduce」に取って代わる新しい時代が始まった。

MapReduceを考案した米グーグルも、2014年6月に「Google Cloud Dataflow」を発表し、これが「MapReduceの後継だ」と述べた。「ポストMapReduce」の時代が来たということか?

 MapReduceはまだ死んではいない。しかしゆっくり死を迎えることになるだろう。ゆっくりと表現したのは、これまで開発したMapReduce用プログラムは、今後もそのまま使い続けられるからだ。既存のMapReduce用プログラムをSpark用プログラムに書き直す必要もない。MapReduceは今後、何年にもわたって使われ続ける。しかしその一方でSparkは、MapReduceよりも汎用的な存在になり、新規プログラムの開発ではMapReduceよりもSparkが使われるようになる。Sparkでのデータ処理は、MapReduceと比べて効率的だからだ。

Sparkのどういった点を評価しているか?

 様々な機能を一つのプラットフォームで提供していることだ。MapReduceのようなバッチ処理もできるし、インタラクティブ分析やインメモリー処理、ストリーミング処理、グラフ処理などが可能だ。こういった様々な機能を、OSSコミュニティが開発している。