はじめに 今回は、Sparkにおいて複数のジョブでデータを共有する仕組みと、耐障害性を実現する方法を説明します。 複数ジョブにおけるデータ共有の方法 Sparkは複数のジョブでデータを共有するために、RDDを永続化する機能を有します。いったんRDDが永続化(永続化RDD)されると、永続化RDDを利用するジョブにおいては、RDDの構成要素のデータを再度外部のストレージなどから読み出す必要はなく、また、読み出したデータから当該永続化RDDを生成するためのmap()やfilter()などの呼び出しからなる一連の処理を省略することができます(図1)。 図1 復数のジョブからの永続化RDDの共有 永続化されたRDDは、当該RDDを最初に処理するジョブを実行する際、パーティション単位でそれぞれのRDDを処理する計算機上に永続化されます。永続化先としては、おもに計算機のメモリ(キャッシュ)と二次記憶