gpt4 book ai didi

scala - UDF 与自定义表达式

转载 作者:行者123 更新时间:2023-12-01 11:24:58 25 4
gpt4 key购买 nike

就 Spark DataFrame/SQL 上下文而言,UDF 和自定义表达式有什么区别?特别是,它们对 Catalyst 都是不透明的吗?使用一个与另一个的原因是什么?

(提到了自定义表达式,例如 here - 尽管在那种情况下不需要它们。)

最佳答案

用户定义函数:

  • 对 Scala 类型进行操作(您可以访问 UDT)
  • 被标记为不确定的
  • 不能在执行计划中移动
  • 不能用于代码生成

表达:

  • 对催化剂类型进行操作
  • 可以标记为确定性/非确定性
  • 可用于代码生成但不是全部实现
  • 可以在执行计划中移动

两者都有- 是不透明的,除非有表达式特定催化剂规则的支持

关于scala - UDF 与自定义表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38155117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com