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)