Sparkとは?スパーク
Sparkとは、大量のデータを多数のサーバへ分けて処理する基盤の一つで、途中の計算結果をディスクへ書かず主記憶に置いたまま次の処理へ渡すのが特徴。RDDと呼ぶ書き換えできないデータ集合に変換を積み重ねる形でプログラムを書き、同じデータを何度も読み直す処理で特に速くなる。
最終更新:2026-10-09
基本情報を最短で暗記・合格する →背景
分散処理の先発であるMapReduce(処理を分けて各サーバで計算し、結果を集める方式)は、工程が変わるたびに中間結果をディスクへ書き出す設計だった。1回きりの集計なら問題ないが、機械学習のように同じデータへ何十回も戻る処理では、書き出しと読み込みだけで時間の大半を使ってしまう。この往復をなくすために、主記憶へ載せたまま処理を続ける方式が作られた。
具体例
開発元はApacheソフトウェア財団で、Amazon EMRやDatabricksといったクラウドサービスからそのまま起動して使える。ログの集計を1回流すだけなら差は小さいが、学習データを繰り返し読む機械学習の処理では、ディスクへの書き戻しが無いぶん所要時間が大きく縮む。
試験での引っ掛け
中間結果をどこに置くかが分かれ目で、工程ごとに書き戻すMapReduceに対し、Sparkは主記憶へ保持したまま次へ渡す。だから反復処理で差が出る、という因果まで押さえる。もう一つ、SparkはHadoop(MapReduceなどを含む、大量データを分散処理するためのソフトウェア群)の代替品ではない。多数のサーバにファイルを分けて置く分散ファイルシステムはHDFSに、どのサーバに処理を割り当てるかの資源管理はYARNに任せて(どちらもHadoopの部品)、その上で動かす構成が取れる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。