【问题标题】:How to use udf functions in pyspark如何在pyspark中使用udf函数
【发布时间】:2020-12-25 20:24:12
【问题描述】:

我正在分析以下代码:

from pyspark.sql.functions import udf,col, desc    
def error(value, pred):
    return abs(value - pred)

udf_MAE = udf(lambda value, pred: MAE(value= value, pred = pred), FloatType())

我知道udf 是用户定义的函数,但我不明白这是什么意思?因为udf之前没有在代码中定义过?

【问题讨论】:

  • 你导入了它:from pyspark.sql.functions import udf
  • @mck 但它是什么,它有什么作用?我在不同的上下文中看到过它,但没有任何文档对我来说足够清楚

标签: pyspark user-defined-functions


【解决方案1】:

当您需要定义特定于用例的逻辑以及需要封装该解决方案以供重用时,用户定义函数 (UDF) 非常有用。只有在没有明确的方法来使用内置函数完成任务时才应使用它们。Azure DataBricks

创建你的函数(在你确定没有内置函数来执行类似任务之后

def greatingFunc(name):
  return 'hello {name}!'

然后您需要通过指定以下内容将您的函数注册为 UDF:

Python 中的访问名称 (myGreatingUDF)

函数本身(greatingFunc)

函数的返回类型(StringType)

myGreatingUDF = spark.udf.register("myGreatingUDF",greatingFunc,StringType())

现在您可以随时调用 UDF,

guest = 'John'
print(myGreatingUDF(guest))

【讨论】:

    猜你喜欢
    • 2017-06-06
    • 1970-01-01
    • 2019-09-26
    • 2021-08-08
    • 2018-06-17
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多