以下のコードブロックのパフォーマンスの違いは何ですか?spark flatMapToPairと[filter + mapToPair]
1.FlatMapToPair:このコードブロックは、単一の変換を使用するが、基本的に技術的に沿って進行するRDDにこの要素を許可しない、空のリストを返すことの内部フィルタ条件を有している
rdd.flatMapToPair(
if (<condition>)
return Lists.newArrayList();
return Lists.newArrayList(new Tuple2<>(key, element));
)
2. [Filter + MapToPair]このコードブロックには2つの変換があります。最初の変換では、単純に上記のコードブロックと同じ条件を使用してフィルタリングしますが、フィルタの後に別の変換mapToPairを行います。
rdd.filter(
(element) -> <condition>
).mapToPair(
(element) -> new Tuple2<>(key, element)
)
に関係なく変換の数のコードのこれらのブロックの両方で同じを実行するのに十分なインテリジェント火花あるいはこれら2回の変換であるように、コードブロック2に悪い行いますか?それは初期化してゴミする必要があるため
おかげ