在本地项目上工作时,会因为未安装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