地图和udf之间的区别

时间:2016-08-19 12:28:56

标签: scala apache-spark udf

当我在Spark中使用DataFrame时,我有时只需编辑该DataFrame中特定列的值。例如。如果我的数据框中有count字段,并且如果我想将1添加到count的每个值,那么我可以编写自定义udf来完成工作DataFrames的withColumn功能,或者我可以在DataFrame上执行map,然后从结果RDD中提取另一个DataFrame。

我想知道的是udf实际上是如何工作的。在这种情况下,使用map / udf给我一个比较。性能差异是什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

简单地说,mapudf更灵活。对于map,您可以在一行中操作的列数没有限制。假设您要导出5列数据的值并删除3列。您需要执行withColumn / udf 5次,然后执行select。使用1 map函数,您可以完成所有这些操作。