1

Dask-gateway を介してクラスター環境で Dask を使用しています。Jupyter Notebook で計算グラフを作成しました。私の遅延関数内で、いくつかの個別の .py ファイルで定義された複数の関数を呼び出します。現在、ワーカーでこれらのモジュールが見つからないというエラーが発生しています。これは、ワーカーがこれらの .py ファイルにアクセスできないためだと思います。これらの .py ファイルをワーカーに「送信」するにはどうすればよいのでしょうか?

ありがとう。

4

1 に答える 1

1

うん、まさに。すべてのクラス/関数/モジュールは、ノートブック内で定義するか、クライアントによって呼び出されるのと同じ構文を使用してワーカーでインポート可能にする必要があります。

ノートブック内でメソッドを定義するか、pip またはその他のデプロイ メカニズムを使用してモジュールをデプロイするか、client.upload_file.

ダスクのドキュメントから:

upload_file(filename, **kwargs)

ローカル パッケージをワーカーにアップロードする

これにより、ローカル ファイルがすべてのワーカー ノードに送信されます。このファイルは、Python のシステム パスの一時ディレクトリに配置されるため、.py、.egg、または .zip ファイルをインポートできます。

client.upload_file('mylibrary.egg')  
from mylibrary import myfunc  
L = client.map(myfunc, seq)
于 2021-12-08T04:35:29.113 に答える