【问题标题】:dask kubernetes import local librarydask kubernetes 导入本地库
【发布时间】:2020-08-15 18:11:48
【问题描述】:

在处理本地项目时,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

【问题讨论】:

    标签: python kubernetes dask dask-kubernetes


    【解决方案1】:

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

    【讨论】:

    • 在我做的代码中自动化:_ = subprocess.check_call(["python", "setup.py", "bdist_egg"]) 然后client.upload_file(glob.glob("./dist/*.egg")[0])
    猜你喜欢
    • 2019-11-29
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2014-02-13
    相关资源
    最近更新 更多