Dask-gateway — отправка самоопределяемых файлов python рабочему

Я использую Dask в кластерной среде через Dask-gateway. Я создал график вычислений в Jupyter Notebook. В моей отложенной функции она вызывает несколько функций, определенных в нескольких отдельных файлах .py. В настоящее время я сталкиваюсь с ошибкой рабочего, говорящего, что эти модули не могут быть найдены. Я предполагаю, что это потому, что рабочие не имеют доступа к этим файлам .py. Мне интересно, как я могу «отправить» эти файлы .py рабочим?

Спасибо.

1 ответ

ага точно. все классы/функции/модули должны быть определены в записной книжке или должны быть импортированы в worker с использованием того же синтаксиса, который вызывается клиентом.

Вы можете определить свои методы в блокноте, развернуть модули с помощью pip или другого механизма развертывания или использоватьclient.upload_file.

Из документов Dask:

upload_file(filename, **kwargs)

Загрузить локальный пакет в рабочие

Это отправляет локальный файл на все рабочие узлы. Этот файл помещается во временный каталог по системному пути Python, поэтому любые файлы .py, .egg или .zip можно будет импортировать.

       client.upload_file('mylibrary.egg')  
from mylibrary import myfunc  
L = client.map(myfunc, seq)
Другие вопросы по тегам