如何在Pyspark UDF函数中调用另一个对象



我有一个class Hello,有几个方法

我想在UDFpyspark函数中创建一个hello对象,例如:

def foo_generation(query_params):
query_obj = Hello()
foo = query_obj.hello_method(query_params)
return foo
​
spark.udf.register("foo_generation", foo_generation)
df = df.withColumn("foo", F.expr("foo_generation(query_param_ES)"))

这似乎不起作用。在这个实例中,我应该如何生成Hello对象?

from pyspark.sql import SparkSession
from pyspark.sql.types import StringType
from pyspark.sql.functions import udf
@udf(returnType=StringType())
def foo_generation(str):
query_obj = Hello()
foo = query_obj.hello_method(str)
return foo
df = df.withColumn("foo", F.expr("foo_generation(str)"))

最新更新