Dask-gateway を介してクラスター環境で Dask を使用しています。Jupyter Notebook で計算グラフを作成しました。私の遅延関数内で、いくつかの個別の .py ファイルで定義された複数の関数を呼び出します。現在、ワーカーでこれらのモジュールが見つからないというエラーが発生しています。これは、ワーカーがこれらの .py ファイルにアクセスできないためだと思います。これらの .py ファイルをワーカーに「送信」するにはどうすればよいのでしょうか?
ありがとう。
Dask-gateway を介してクラスター環境で Dask を使用しています。Jupyter Notebook で計算グラフを作成しました。私の遅延関数内で、いくつかの個別の .py ファイルで定義された複数の関数を呼び出します。現在、ワーカーでこれらのモジュールが見つからないというエラーが発生しています。これは、ワーカーがこれらの .py ファイルにアクセスできないためだと思います。これらの .py ファイルをワーカーに「送信」するにはどうすればよいのでしょうか?
ありがとう。
うん、まさに。すべてのクラス/関数/モジュールは、ノートブック内で定義するか、クライアントによって呼び出されるのと同じ構文を使用してワーカーでインポート可能にする必要があります。
ノートブック内でメソッドを定義するか、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)