8

For Spark dataframe via pyspark, we can use pyspark.sql.functions.udf to create a user defined function (UDF).

I wonder if I can use any function from Python packages in udf(), e.g., np.random.normal from numpy?

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
Jie Chen
  • 151
  • 1
  • 2
  • 4

1 Answers1

13

Assuming you want to add a column named new to your DataFrame df constructed by calling numpy.random.normal repeatedly, you could do:

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())
karlson
  • 5,325
  • 3
  • 30
  • 62