dask kubernetes 导入本地库

dask kubernetes import local library

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

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

解决方案?有没有办法"import"把模块的内容放到工作文件中,集群就不需要导入了?

在集群中安装 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

通常,解决此问题的方法是制作您自己的 docker 图片。如果你只有一个文件,或者一个 egg 或 zip 文件,那么你也可以查看 Client.upload_file 方法