Pyspark Spark(python)-解释用户定义函数和简单函数之间的区别

Pyspark Spark(python)-解释用户定义函数和简单函数之间的区别,pyspark,user-defined-functions,Pyspark,User Defined Functions,我是个初学者。我正在使用Python和Spark数据帧。我刚刚了解了用户定义函数(udf),用户必须先注册才能使用它。 问:在什么情况下,您希望创建一个udf而不是一个简单的(Python)函数 非常感谢你 如果使用UDF,代码将更整洁,因为它将使用函数和正确的返回类型(如果为空,则默认为字符串),并创建一个列表达式,这意味着您可以编写一些不错的东西,如: my_function_udf = udf(my_function, DoubleType()) myDf.withColumn("func

我是个初学者。我正在使用Python和Spark数据帧。我刚刚了解了用户定义函数(udf),用户必须先注册才能使用它。 问:在什么情况下,您希望创建一个udf而不是一个简单的(Python)函数


非常感谢你

如果使用UDF,代码将更整洁,因为它将使用函数和正确的返回类型(如果为空,则默认为字符串),并创建一个列表达式,这意味着您可以编写一些不错的东西,如:

my_function_udf = udf(my_function, DoubleType())
myDf.withColumn("function_output_column", my_function_udf("some_input_column"))
这只是如何使用UDF将函数视为列的一个示例。它们还可以很容易地通过闭包将列表或映射之类的东西引入到函数逻辑中,这一点解释得很好