我正在探索Spark的操作融合功能,如果有Spark,我会好奇 可以将过滤器和地图融为一体,例如
val names = sc.parallelize(List("Subhrajit Bhattacharya", "John Doe"))
val longNames = names.filter( x => x.length > 10)
val splitLongNames = longNames.map(x => x.split(" ").toList)
如果是,该函数的代码是什么?还有没有办法知道Spark正在融合哪些操作?
谢谢。
答案 0 :(得分:0)
是的,Spark将尽可能地“融合”。
这些阶段没有改组要求-即无需四处移动数据-不像groupByKey那样,以实现期望的结果。
在这种情况下,生成的新RDD跟随父RDD。因此,融合是可能的,而且实际上始终是意图。