0

在本地项目上工作时,会因为未安装from local_project.funcs import local_func而在集群中失败。local_project

这迫使我在同一个文件上开发所有内容。

解决方案?有没有办法将模块的内容“导入”到工作文件中,以便集群不需要导入它?

在集群中安装对local_project开发不友好,因为导入功能的任何更改都需要重新部署集群。

import dask
from dask_kubernetes import KubeCluster, make_pod_spec
from local_project.funcs import local_func

pod_spec = make_pod_spec(
    image="daskdev/dask:latest",
    memory_limit="4G",
    memory_request="4G",
    cpu_limit=1,
    cpu_request=1,
)
cluster = KubeCluster(pod_spec)

df = dask.datasets.timeseries()
df.groupby('id').apply(local_func)  #fails if local_project not installed in cluster

4

1 回答 1

1

通常,解决方案是制作自己的 docker 镜像。如果您只有一个文件,或者一个 egg 或 zip 文件,那么您也可以查看该Client.upload_file方法

于 2020-05-08T01:03:44.620 回答