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