Apache Hadoopは、「データ処理基盤」と「分散コンピューティング基盤」という2つの特徴を持つもので、ビッグデータ処理を目的とした分散処理フレームワークとして利用できます。
分散処理フレームワーク「MapReduce」、分散ファイルシステム「HDFS」、クラスタ管理システム「YARN」などで構成されています。
→OSSxCloudNews →オープンソースのビッグデータ処理ツール/Apache Hadoopとは
Apache Hadoopは、非常に低コストでビッグデータを格納し処理できる機能を提供することで、ビッグデータ処理に大きな革命的進歩をもたらしました。
しかし、設計方針としてスループット向上に最適化されており、処理が複雑化するとレイテンシ(処理時間)が悪化してしまうため、機械学習やグラフアルゴリズム処理などの「繰り返し計算処理には適さない」という弱点があります。
Apache Sparkは、上記のApache Hadoopの弱点を克服するために、スループットとレイテンシを両立できるように開発されました。
Apache Sparkは「Hadoopデータと互換性を持つ高速処理エンジン」として利用できます。
Apache Spark実行時には必ずしもApache Hadoopは必要ありませんが、クラスタ上で実行する場合は「NFSを各ノードの同じパスにマウントする」などの共有ファイルシステムが必要になります。
Sparkは、メモリに格納できるデータ量については非常に高速に処理できます。
しかし、メモリに格納しきれない大きなサイズのデータを扱う場合には、「Hadoopで基本処理したデータをSparkでドリルダウン処理する」などのように、双方の得意な処理を組み合わせて連携して利用することで、システム全体のパフォーマンスを向上できます。
SparkはHadoopコアライブラリを使用してHDFSや他のHadoop対応のストレージシステムと通信します。そのため、クラスタで実行されているHadoopバージョンに合わせて、Sparkを構築する必要があります。
オープンソースのビッグデータ処理ソフトウエア「Apache Spark」をディープラーニング(深層学習)対応させる動きが活発化している点について解説。 【Apache Sparkとは】 インメモリ高速分散処理プラットフォーム https://www.ossnews.jp/oss_info/Apache_Spark 【テーマ】 ・SQLクエリーで深層学習 ・様々なSparkアプリ...
OSS×Cloud ACCESS RANKING