Spark: Terms: Definitions Flashcards
https://qiita.com/Hiroki11x/items/4f5129094da4c91955bc
FIFO
単一のプールを用いて、キューのように扱う。プールに登録されたタスクセットを順にスケジューリングする
FAIR
複数のプールを用いて、各プールから公平にアスクセットを取り出しスケジューリングする
クライアント, マスタ
ジョブのキックを担当
ワーカ
計算資源の提供・管理を担当
ドライバ
ユーザがRDDの変換を記述したプログラム
エグゼキューター
ワーカー上で動作し、実際の計算を担当
ジョブ
Sparkの処理内でアクション系のメソッドを実行するとジョブが作成される。SparkではRDDと呼ばれる抽象データセットの変換を繰り返して目的の結果を得る。この一連の処理をジョブという
ステージ
ジョブはデータのシャッフルが必要な場合に複数のステージに分割される
タスク
ジョブをエグゼキューターが実行可能な粒度に分割した処理単位。ステージは複数のタスクを持ち、ワーカーに対して送られる並列実行可能な処理をタスクという
スケジューラ
ジョブをタスクに分割したり、タスクのエグゼキュータへの割り当てを担当
RDD(Resilient Distributed Datasets)
耐障害性分散データセットで、繰り返し利用するデータについてはメモリ上に保持することが可能
RDDの性質(5)
1) イミュータブルで分割されたオブジェクトのコレクション(フォールトトレラント性を実現するためRDDでは「得たいデータが失われていたら前のデータから再生成する」というアプローチを取っているため、それぞれイミュータブルである必要がある)
2) 読み取り専用
3) 並列処理(map,filter,groupBy,join)をストレージ上のデータに適応した結果を生成
4) 再利用するためにメモリ上にキャッシュされる
5) 遅延評価される(アクション系のメソッド(*2)が呼ばれるまで」実際の処理は行われない)
union()
それぞれのRDDの和集合の重複を許したすべての要素からなるRDDを生成
intersection()
重複を許さずそれぞれのRDDの積集合の要素からなるRDDを生成
subtract()
片方の要素からもう一方の要素を除いた要素からなるRDDを生成
distinct()
一つのRDD内部での重複要素を一つにまとめた要素からなるRDDを生成
count()
要素の個数を返す
take(int num)
複数の要素を引数の数だけ集めてくる
collect()
RDD全体を取り出す(小さいサイズ場合のみ)
saveAsTestFile()
分散ストレージシステムに書き出す
saveAsSequenceFile()
分散ストレージシステムに書き出す
reduce(func)
結合処理を並列に行う
fold(zero)(func)
reduce()と見た目は同じ、中身は若干違うっぽく、単位元的な値(その操作を適応しても変わらない)を受け取る
aggregate(func)
reduce()と同じだが、返す型が扱うRDDの要素と違う場合に使う
take(n)
RDDからn個の要素を返す
top(n)
RDDの先頭からn個までの要素を返す
takeOrdered(n)(ordering)
指定された順序でRDDからn個要素を返す
takeSample(withReplacement,n,seed)
RDDからランダムにn個要素を返す
collect()
RDDすべての要素を返す
count()
RDDの要素数を返す
countByValue()
RDDの各要素の出現回数を返す
foreach(func)
RDD中の各要素に指定した関数を適用