将多个转换结构化为一个步骤

时间:2016-03-31 12:29:53

标签: apache-spark

需要转换RDD,转换中有几个步骤。

一种选择是将所有步骤放在一个功能中:

rdd.map {x => 
  x.field1 = // some logic
  x.field2 = // some logic
  x.field3 = // some logic

  x
}

以上问题是:

  • 上述逻辑步骤中的每一个都可能非常大 构建代码更具挑战性。
  • 在前面的步骤中,某些步骤可能依赖于对RDD的转换。

另一种选择如下:

val transformedRdd = rdd.map(function1).map(function2).map(function3)

这既解决了以前的问题。但是,它有效吗?它有什么不同:

val rdd1 = rdd.map(function1)
val rdd2 = rdd1.map(function2)
val rdd3 = rdd2.map(function)

由于

0 个答案:

没有答案