#python #dask #dask-delayed
Вопрос:
У меня есть серия вычислений по некоторым данным, которые я моделирую в виде графика с задержкой dask, и они хорошо работают, однако создание самого графика занимает больше времени (или сопоставимого времени), чем выполнение вычислений.
Я добавляю данные в течение дня, поэтому хотел бы иметь возможность изменять входные данные без воссоздания графика, есть ли способ сделать это?
Ответ №1:
Это продвинутая тема, поэтому я собираюсь предоставить только несколько банальное решение:
import dask
from dask.multiprocessing import get
@dask.delayed()
def myfunc(x):
return x 1
nested = 0
for x in range(1, 3):
nested = myfunc(x*nested, dask_key_name=f'{x}')
# 1*0 1 = 1 -> 2*1 1 = 3
print(nested.compute())
dag_modified = nested.dask.to_dict()
dag_modified['1'] = modified_dag['1'][0], 2
# 1*2 1 = 3 -> 2*3 1 = 7
print(get(dag_modified, '2'))
Комментарии:
1. Я уверен, что некоторые объяснения будут оценены по достоинству
2. Спасибо, хотел бы я знать больше… Я пытаюсь найти способ упаковать измененный dag в хороший отложенный объект, но не могу найти чистое решение.