0
累積の代わりに1つずつ操作のセットを実行するパフォーマンスのコストを知りたいと思います。ここで は、これら2つのシナリオを表現するためにいくつかのコードです:spark RDDで複数の操作を実行するパフォーマンス
シナリオ1:
val operations: List[Row => Boolean]
val rdd: RDD[Row]
val result: RDD[Boolean] = rdd.flatMap(row => operations.map(f => f(row)))
シナリオ2
val operations: List[Row => Boolean]
val rdd: RDD[Row]
val result: RDD[Boolean] = sc.union(operations.map(f => rdd.map(f)))
私は2番目の1が、より高価であることを知っているが、私は持っていますそれを好むいくつかの理由と私はそれがどれくらい高価であるか知りたいと思います。
私の操作数量は10〜100の間であり、RDDサイズはミリオン以上です。
シナリオ1の見方では、行く方法があるようです –