当前位置: 首页 > 知识库问答 >
问题:

地图和udf的区别

羊舌涵涤
2023-03-14

当我在Spark中使用数据帧时,有时我必须只编辑该数据帧中特定列的值。例如,如果我的数据帧中有一个count字段,如果我想将1添加到count的每个值中,那么我可以编写一个自定义udf,使用数据帧的with column功能来完成工作,或者我可以在数据帧上做一个映射,然后从生成的RDD中提取另一个数据帧。

我想知道的是udf在引擎盖下是如何工作的。在这种情况下,请给我一个使用map/udf的比较。性能有什么不同?

谢谢

共有1个答案

裴展
2023-03-14

简单地说,mapudf更灵活。使用map,您可以在一行中操作的列数没有限制。假设您想要为5列数据导出值,并删除3列。您需要对列执行/定义5次,然后选择。使用1map功能,您可以完成所有这一切。

 类似资料:
  • 问题内容: 我无法理解RxSwift中map和flatMap之间的区别。在RxSwift游乐场示例和书籍中,flatMap用作转换具有内部Observable属性的Observables。 但是我看到flatMap直接用于基本类型的Observable。例如,下面的代码,它们都产生相同的输出。有人可以帮助我了解map和flatMap之间的区别吗 问题答案: flatMap 与 map 相似,但是它

  • onmaploadedcallback.onmaploaded() 我不是很清楚。

  • 问题内容: 我知道映射是将键映射到值的数据结构。字典不一样吗?地图和字典1有什么区别? 1.我不是要问用X或Y语言定义它们(这似乎是人们通常在SO上要求的语言),我想知道它们在理论上有何不同。 问题答案: 同一件事的两个术语: Java,C ++使用“地图” .Net,Python使用“字典” PHP使用“关联数组” “映射”是正确的数学术语,但是避免使用它,因为它在函数式编程中具有单独的含义。

  • 这两种方法有什么区别:和? 请举个例子。

  • 我只是意识到编译器允许以多种方式定义映射。这些声明之间有区别吗,哪种是“正确”的方式:

  • 我已经使用Spark 2.4一段时间了,最近几天刚开始切换到Spark 3.0。在切换到Spark 3.0运行<code>udf((x:Int)之后,我得到了这个错误= 这些解决方案是由Spark自己提出的,在搜索了一段时间后,我进入了Spark迁移指南页面: 在Spark 3.0中,默认情况下不允许使用org.apache.spark.sql.functions.udf(AnyRef, Data