0
我想知道执行一组操作而不是累积操作的性能成本是多少。 下面是一些代码来代表这两种情况:在火花上执行多个操作的性能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)))
我知道第二个是更昂贵的,但是我有一些理由喜欢它,我想知道它是多少钱。
我的操作数量在10到100之间,RDD大小在几百万或更多。
由它的外观情景1似乎是要走的路 –