对于通过pyspark的Spark数据帧,我们可以使用pyspark.sql.functions.udf
创建user defined function (UDF)
。
我想知道我是否可以使用udf()
中的Python包中的任何函数,例如来自numpy的np.random.normal
?
答案 0 :(得分:12)
假设您要将名为new
的列添加到通过重复调用df
构建的DataFrame numpy.random.normal
中,您可以执行以下操作:
import numpy
from pyspark.sql.functions import UserDefinedFunction
from pyspark.sql.types import DoubleType
udf = UserDefinedFunction(numpy.random.normal, DoubleType())
df_with_new_column = df.withColumn('new', udf())