Dask网关-将自定义的python文件发送给worker



我通过Dask网关在集群环境中使用Dask。我在Jupyter笔记本上创建了计算图。在我的延迟函数中,它调用了在几个单独的.py文件中定义的多个函数。目前,我在worker上遇到错误,说找不到这些模块。我想这是因为工作人员无法访问那些.py文件。我想知道如何将这些.py文件"发送"给员工?

谢谢。

是的。所有类/函数/模块都必须在笔记本中定义,或者必须使用与客户端调用的语法相同的语法在工作者上导入。

您可以在笔记本中定义方法,使用pip或其他部署机制部署模块,也可以使用client.upload_file

来自dask文档:

upload_file(filename, **kwargs)

将本地包上传到工人

这将向上向所有工作节点发送一个本地文件。该文件被放置在Python系统路径上的一个临时目录中,因此任何.py、.egg或.zip文件都可以导入。

client.upload_file('mylibrary.egg')  
from mylibrary import myfunc  
L = client.map(myfunc, seq)

最新更新