dask kubernetes import local library - PullRequest
0 голосов
/ 01 мая 2020

При работе над локальным проектом 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

1 Ответ

1 голос
/ 08 мая 2020

Как правило, решением этой проблемы является создание собственного docker изображения. Если у вас есть только один файл или файл с яйцом или почтовым индексом, вы можете также изучить метод Client.upload_file

...