我正在使用pyspark(在一个jupyter笔记本中,它连接到一个spark集群)和一些udf。自定义项以列表作为附加参数,我这样构造自定义项: my_udf = F.udf(partial(my_normal_fn, list_param=list), StringType())
在执行函数方面,一切正常。但我注意到自定义项从未更新过。澄清:当我更新 list
例如,通过更改列表中的元素,udf不会更新。带旧列表的旧版本仍在使用。即使我再次执行整个笔记本。为了使用列表的新版本,我必须重新启动jupyter内核。真烦人。。。
有什么想法吗?
1条答案
按热度按时间omhiaaxx1#
我找到了解决办法。
我的
my_normal_fn
有以下签名:把它改成
我成功了。更多信息请参见此处。
感谢sparkml slack channel的用户drjones78。