Spark: Definitions: Terms Flashcards
https://qiita.com/Hiroki11x/items/4f5129094da4c91955bc
単一のプールを用いて、キューのように扱う。プールに登録されたタスクセットを順にスケジューリングする
FIFO
複数のプールを用いて、各プールから公平にアスクセットを取り出しスケジューリングする
FAIR
クライアントジョブのキックを担当
クライアント, マスタ
計算資源の提供・管理を担当
ワーカ
ユーザがRDDの変換を記述したプログラム
ドライバ
ワーカー上で動作し、実際の計算を担当
エグゼキューター
Sparkの処理内でアクション系のメソッドを実行するとジョブが作成される。SparkではRDDと呼ばれる抽象データセットの変換を繰り返して目的の結果を得る。この一連の処理をジョブという
ジョブ
ジョブはデータのシャッフルが必要な場合に複数のステージに分割される
ステージ
ジョブをエグゼキューターが実行可能な粒度に分割した処理単位。ステージは複数のタスクを持ち、ワーカーに対して送られる並列実行可能な処理をタスクという
タスク
ジョブをタスクに分割したり、タスクのエグゼキュータへの割り当てを担当
スケジューラ
耐障害性分散データセットで、繰り返し利用するデータについてはメモリ上に保持することが可能
RDD(Resilient Distributed Datasets)
1) イミュータブルで分割されたオブジェクトのコレクション(フォールトトレラント性を実現するためRDDでは「得たいデータが失われていたら前のデータから再生成する」というアプローチを取っているため、それぞれイミュータブルである必要がある)
2) 読み取り専用
3) 並列処理(map,filter,groupBy,join)をストレージ上のデータに適応した結果を生成
4) 再利用するためにメモリ上にキャッシュされる
5) 遅延評価される(アクション系のメソッド(*2)が呼ばれるまで」実際の処理は行われない)
RDDの性質(5)
それぞれのRDDの和集合の重複を許したすべての要素からなるRDDを生成
union()
重複を許さずそれぞれのRDDの積集合の要素からなるRDDを生成
intersection()
subtract()
片方の要素からもう一方の要素を除いた要素からなるRDDを生成