Apache spark PySpark中的UDF重新加载
我正在使用PySpark(在一个连接到Spark集群的Jupyter笔记本中)和一些UDF。UDF将列表作为附加参数,我按照如下方式构造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
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