Spark のコンテキストでの細粒度変換と粗粒度変換の違いを誰か説明してもらえますか? 私は RDD に関する論文 ( https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf ) を読んでいましたが、粗いゲイン変換が効果的な方法でフォールト トレランスを提供する方法がよくわかりませんでした。
4685 次
1 に答える
17
細粒度の更新はデータベース内の 1 つのレコードの更新ですが、粗粒度の更新は一般に (spark で使用されるような) 関数演算子 (map、reduce、flatMap、join など) です。Spark のモデルはこれを利用します。これは、操作の小さな DAG (処理しているデータと比較して小さい) を保存すると、元のデータがまだそこにある限り、それを使用して再計算できるためです。細粒度の更新では、更新を保存するとデータ自体を保存するのと同じくらいのコストがかかる可能性があるため、再計算できません。基本的に、各レコードを数十億から個別に更新する場合、各更新を計算するために情報を保存する必要がありますが、粗粒度では保存できます10 億のレコードを更新する 1 つの関数。ただし、これには、きめの細かいモデルほど柔軟ではないという代償が伴うことは明らかです。
于 2014-10-06T19:37:32.027 に答える