Есть ли способ с dask иметь переменную, которая может быть получена из одной задачи в другую. Я имею в виду переменную, которую я мог бы заблокировать в рабочем месте, а затем получить в том же работнике, когда выполняю другую задачу.Рабочие постоянные переменные Dask
2
A
ответ
1
Рабочие сами по себе являются процессами Python, поэтому вы можете делать трюки с помощью globals()
.
Однако, возможно, более чистые, чтобы испускать значения и передавать их между задачами. Dask сохраняет за собой право повторять функции и запускать их на разных машинах, поэтому в зависимости от глобального состояния или состояния, характерного для конкретного штата, вы можете легко попасть в неприятности.
Thx для ответа, но трюки в глобальном масштабе, похоже, не работают. Я попытался запустить этот код у своих работников: 'i = 0 def engine (cmd): global i print ('i is:% d'% (i)) i = i + 1'. Но счетчик остается 0 – Bertrand
Да, я рекомендую не использовать глобальные значения – MRocklin
Thx для ваших ответов я постараюсь так поступить так. – Bertrand