2016-06-29 2 views
0

フィルタ()が火花RDDの()メソッドを減らすの違いは何ですか?言い換えればなぜフィルター()は変形であり、reduce()はアクションですか?私にとっては、どちらも同じように聞こえる。何が違うの?フィルターが狭いか幅広いですか?フィルターと還元の違いは?

答えて

1

フィルタは行単位でのみ機能し、別の(フィルタリングされた)rddを返します。 Reduceは実際にはrdd全体に渡って計算される単一の値を返します。この値が返されるためには、実際の計算が行われなければなりません。なぜreduceがアクションなのかです。

一般に、実際の値を返すか、出力を書き込む必要があるrdd.functionsは、アクションであり、別のrddを返すrdd.functionsは変換です。

アクションが必要な場合にのみ、それにつながるrdd変換が起こります(スパークの怠惰性プロパティ)

+0

それは意味があります:) – BDR

関連する問題