Apache spark PySpark中的UDF重新加载

Apache spark PySpark中的UDF重新加载,apache-spark,pyspark,udf,Apache Spark,Pyspark,Udf,我正在使用PySpark(在一个连接到Spark集群的Jupyter笔记本中)和一些UDF。UDF将列表作为附加参数,我按照如下方式构造UDF: my\u udf=F.udf(部分(my\u normal\u fn,list\u param=list),StringType()) 关于函数的执行,一切正常。但我注意到UDF从未更新过。 澄清:当我更新列表时,例如通过更改列表中的元素,UDF不会更新。带有旧列表的旧版本仍在使用。即使我再次执行整个笔记本。 为了使用列表的新版本,我必须重新启动Ju

我正在使用PySpark(在一个连接到Spark集群的Jupyter笔记本中)和一些UDF。UDF将列表作为附加参数,我按照如下方式构造UDF:

my\u udf=F.udf(部分(my\u normal\u fn,list\u param=list),StringType())

关于函数的执行,一切正常。但我注意到UDF从未更新过。 澄清:当我更新
列表时,例如通过更改列表中的元素,UDF不会更新。带有旧列表的旧版本仍在使用。即使我再次执行整个笔记本。
为了使用列表的新版本,我必须重新启动Jupyter内核。这真的很烦人

有什么想法吗?

我找到了解决办法

我的
My_normal\u fn
有以下签名:

def my_normal_fn(x, list_param=[]):
    dosomestuffwith_x_and_list_param
改成

def my_normal_fn(x, list_param):
    dosomestuffwith_x_and_list_param
成功了。有关更多信息,请参阅

感谢SparkML Slack channel的用户Drjones78。

我找到了解决方案

我的
My_normal\u fn
有以下签名:

def my_normal_fn(x, list_param=[]):
    dosomestuffwith_x_and_list_param
改成

def my_normal_fn(x, list_param):
    dosomestuffwith_x_and_list_param
成功了。有关更多信息,请参阅

感谢SparkML Slack channel的用户Drjones78