「Apache Spark」と「Apache Hadoop」の関係

「Apache Spark」と「Apache Hadoop」の関係

■「Apache Hadoop」とは

Apache Hadoopは、「データ処理基盤」と「分散コンピューティング基盤」という2つの特徴を持つもので、ビッグデータ処理を目的とした分散処理フレームワークとして利用できます。

分散処理フレームワーク「MapReduce」、分散ファイルシステム「HDFS」、クラスタ管理システム「YARN」などで構成されています。

→OSSxCloudNews →オープンソースのビッグデータ処理ツール/Apache Hadoopとは

■Hadoopの弱点

Apache Hadoopは、非常に低コストでビッグデータを格納し処理できる機能を提供することで、ビッグデータ処理に大きな革命的進歩をもたらしました。

しかし、設計方針としてスループット向上に最適化されており、処理が複雑化するとレイテンシ(処理時間)が悪化してしまうため、機械学習やグラフアルゴリズム処理などの「繰り返し計算処理には適さない」という弱点があります。

■SparkはHadoopの弱点を改善

Apache Sparkは、上記のApache Hadoopの弱点を克服するために、スループットとレイテンシを両立できるように開発されました。

Apache Sparkは「Hadoopデータと互換性を持つ高速処理エンジン」として利用できます。

Apache Spark実行時には必ずしもApache Hadoopは必要ありませんが、クラスタ上で実行する場合は「NFSを各ノードの同じパスにマウントする」などの共有ファイルシステムが必要になります。

■Spark×Hadoop連携

Sparkは、メモリに格納できるデータ量については非常に高速に処理できます。

しかし、メモリに格納しきれない大きなサイズのデータを扱う場合には、「Hadoopで基本処理したデータをSparkでドリルダウン処理する」などのように、双方の得意な処理を組み合わせて連携して利用することで、システム全体のパフォーマンスを向上できます。

SparkはHadoopコアライブラリを使用してHDFSや他のHadoop対応のストレージシステムと通信します。そのため、クラスタで実行されているHadoopバージョンに合わせて、Sparkを構築する必要があります。

Apache Spark最新TOPICS

【OSS】ビッグデータ処理ソフトウエア「Apache Spark」、ディープラーニング(深層学習)対応させる動きが活発化---SQLクエリで深層学習、様々なSparkアプリケーションに深層学習を取り込む(2017年08月14日 11:03)

オープンソースのビッグデータ処理ソフトウエア「Apache Spark」をディープラーニング(深層学習)対応させる動きが活発化している点について解説。 【Apache Sparkとは】 インメモリ高速分散処理プラットフォーム https://www.ossnews.jp/oss_info/Apache_Spark 【テーマ】 ・SQLクエリーで深層学習 ・様々なSparkアプリ...

Apache Spark最新CLOSEUPコラム

  • 勉強会
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter