[河原潤のITストリーム]

ポストHadoopと呼ばれる「Apache Spark」にブレークの兆し:第49回

2015年7月8日(水)河原 潤(IT Leaders編集委員/データセンター完全ガイド編集長)

ビッグデータを扱うための基盤環境として真っ先に名前が挙がるのが、ご存じ「Apache Hadoop/MapReduce」。一方で、数年前から先進企業/エンジニアの間で“ポストHadoop”と呼ばれている技術があります。UCバークレー・AMPLab発の「Apache Spark」です。先月、IBMが「今後10年間で最も重要なオープンソースプロジェクト」と位置づけてSparkへの注力を宣言するなど、ここにきて普及の兆しもあります。そこで、まずは「Sparkって一体何?」というレベルから動向を確認してみます。

「インメモリ環境でHadoopの100倍高速」

 Apache Sparkを用語解説的に説明するなら、「RDD(Resilient Distributed Dataset)という抽象化データセットを技術基盤として、Scala言語で実装されたオープンソースの分散処理プラットフォーム」といったところでしょうか。ビッグデータやデータサイエンスがブームになる直前の2009年、カリフォルニア大学バークレー校のAMPLab(Algorithms, Machines, and People Lab)で開発が始まり、2013年にApacheソフトウェアファウンデーション(ASF)に寄贈、翌2014年5月にバージョン1.0となってASFのトップレベルプロジェクトに昇格しています。開発主体はUCバークレー出身のベンチャー企業、データブリックス(Databricks)で、現行のバージョンは2015年6月にリリースされた1.4です。

画面1:Apache Sparkプロジェクトサイト(出典:The Apache Software Foundation)
図1:SparkとHadoopのロジスティック回帰処理速度比較(出典:The Apache Software Foundation)

 Apache Sparkプロジェクトサイト(画面1)には、「Sparkは、高速で多目的に対応する大規模データプロセッシングのためのエンジンである」とあり、「Hadoop/MapReduceと比較して、インメモリ環境で100倍、ディスク環境で10倍高速に処理できる」と謳われています。高速分散処理で知られるHadoopの10~100倍という、画期的な処理スピードがSparkの大きな売りになっています(図1)。

 この顕著な高速化をはたしたカギは、上述のRDDと、「DAG(Directed Acyclic Graph:有向非巡回グラフまたは有向非循環グラフ)」という実行エンジンにあるようです。有向非巡回グラフ……実に耳慣れない言葉です。以下、専門家の解説を引用・要約してみます。

●Sparkで採用されたDAGは分散システムに特化したプログラミングモデルであり、MapReduceの代替としてみなすことができる。

●DAGによる実行は、Apache Tezと同様、MapReduceのように中間結果をディスクに書き込まない仕組みをとる。そのためインメモリの高速性を最大限に享受できる。

●MapReduceは、MapとReduceの2つの処理ステップしか持たないが、DAGでは、ツリー構造を形成可能な複数レベルの処理ステップを持つことができる。例えば、SQLクエリを実行する際、DAGではMap、Filter、Unionといった多くのファンクションを実行できる。

出典:実名制Q&AサイトQuoraでのAbishek Baskaran氏の投稿を引用要約)

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
登録済みの方はこちら

IT Leaders 雑誌版、電子版をご購読の方、会員登録済みの方は下記ボタンよりログインして続きをお読みください

初めての方はこちら

IT Leaders 会員になると
会員限定公開の記事を読むことができます
IT Leadersのメルマガを購読できます

【次ページ】単に速いだけではない―Sparkの4大特徴
  • 1
  • 2
  • 3
バックナンバー
河原潤のITストリーム一覧へ
関連キーワード

Spark / Hadoop / OSS / IBM / データサイエンティスト

関連記事

ポストHadoopと呼ばれる「Apache Spark」にブレークの兆し:第49回ビッグデータを扱うための基盤環境として真っ先に名前が挙がるのが、ご存じ「Apache Hadoop/MapReduce」。一方で、数年前から先進企業/エンジニアの間で“ポストHadoop”と呼ばれている技術があります。UCバークレー・AMPLab発の「Apache Spark」です。先月、IBMが「今後10年間で最も重要なオープンソースプロジェクト」と位置づけてSparkへの注力を宣言するなど、ここにきて普及の兆しもあります。そこで、まずは「Sparkって一体何?」というレベルから動向を確認してみます。

PAGE TOP