Apache Sparkとは?~背景から活用シーンまで~

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

Hadoopって便利そうだけど、敷居が高そう、Sparkを使えばビッグデータのリアルタイム処理が高速にできるらしい、けど実際どうなの、という方に送ります。

Apache Spark、その前に背景とおさらい

システムにおける データアクセスについて、ムーアの法則にあるように高速化は頭打ちでしたが、Hadoop の登場により、ボトルネックだったディスクIOの高速化が図れるようになりました。可用性やパフォーマンスの向上を図るためのスケールアップ(基本スペックの向上)には限界がありますが、台数を増やす、処理ノードを増やす、役割を分割する等のスケールアウト(分散化)にて高速化、可用性を向上させる、近年における分散技術の発展には目を見張るものがあります。
jtp_scaleout

Hadoop MapReduce の弱点

さて、分散処理基盤として現在最も使用されている(多分)Hadoop MapReduce の弱点 は、そもそも ディスクIOの並列化をベース としていることに起因します。そのため、いくら並列化をしたとしても、ディスクIOが都度都度発生するような 繰り返し処理リアルタイム処理 には、やはり 動作コストがかかってしまう、という悩みを潜在的にもっています。これらの操作は頻繁なデータ読み書きを繰り返し行うビッグデータ分析に関しては、非常に高コストな処理であり、Hadoop の利用価値向上を阻害していた原因の一つなのではないかと思います。

Hadoop においては、実際の処理系コンポーネントである Hadoop MapReduce がその部分を担っていますが、Hadoop MapReduce 自体は、処理途中の中間データをメモリ上に保持する機構を有していません。
hadoop_logo
Hadoop(https://15809-presscdn-0-93.pagely.netdna-cdn.com/wp-content/uploads/2016/02/MTIyMzAzNjEzMjc1MDQ2NTAy.png)

Apache Spark、その前に背景とおさらい

Apache Spark は日頃多方面にてお世話になっている、Apache プロジェクト におけるトップレベルプロジェクトの一つです。

■Apache Spark
https://spark.apache.org

上記 Hadoop MapReduce の弱点である 機械学習リアルタイム処理 といった オンタイムの処理をメモリ上に展開されたデータに対して行う ための 分散処理用フレームワーク です。

Hadoop MapReduce と、Apache Spark のデータ処理における大きな差別項目として着目すべき点は、

 1. データの入出力は ディスクIOを伴わないインメモリ で行うこと
    (Hadoop MapReduce のみを使用するより10倍から100倍高速!)

 2. データの 格納場所の選択肢が多い こと (HDFS, Cassandra, H Base, Amazon S3)

になります(出典:https://spark.apache.org/)。

また、Spark 自体は Scala言語 で構築されていますが、データの分析操作を記述するためのプログラミング言語としては、Scala の他、 Java、Python、Rを選択することが可能 です。日常使い慣れているプログラミング言語でデータ分析操作を記述できる、という点は開発者にとってはうれしい限りです。

spark_logoSpark(https://upload.wikimedia.org/wikipedia/commons/e/ea/Spark-logo-192x100px.png)

 

Hadoop MapReduce と Spark の活用シーン

 

続きはこちらから・・・

本記事は、日本サード・パーティ株式会社(JTP)にて、執筆しています。

JTPは約30年に渡り、様々なベンダーのサポートを行う企業です。 設計、構築、開発、運用、ヘルプデスク、トレーニングなど、ITのライフサイクルを通して技術サービスを提供しています。

中でも、JTP の IT教育サービスでは、クラウド、Hadoop関連技術など、OSS の最新技術 トレーニングを数多く実施しています。

JTPでは、経験豊富なエンジニア、講師陣により、多くの技術記事を公開しております。

 

▼JTPの情報メディア「JTP Technology Port」はこちらから!

https://www.jtp.co.jp/techport/

アバター画像
プロフェッショナルサービスチームの中の人。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる