目次
Dask.distributeを使ってプログラムの高速化を目指します。
Python 3.10.1 64bitでやってますが,たぶんどのバージョンもできるはず...
pythonインストールはこちら
参考に↓
https://qiita.com/simonritchie/items/e174f243bc03fb25462e
https://distributed.dask.org/en/stable/
daskは、処理を支持する「schedule側」と、処理をする「worker側」に分かれる。イメージは以下の通り。
#ref(): File not found: "ヘイレツ.png" at page "水上_backup/技術資料/食べログから店のレビューを取得"
まずdask、distributedをインストール(schedule側、worker側の両方) バージョンはschedule側とworker側でそろえておいたほうがいいのでバージョン指定をしてインストール
pip install dask==2022.11.1 pip install distributed==2022.11.1
・scheduler側で使用する「Wireless LAN adapter Wi-Fi:」の物理アドレスを確認する。(後から使います)
→コマンドプロンプトを開いて「ipconfig」と入力すると確認することができるよ
#ref(): File not found: "siu2.png" at page "水上_backup/技術資料/食べログから店のレビューを取得"
コマンドプロンプトを開いて「dask-scheduler」と入力する。
↓このように表示されたら成功です
#ref(): File not found: "daskzu1.png" at page "水上_backup/技術資料/食べログから店のレビューを取得"
この状態で待機です
コマンドプロンプトを開いて、「dask-worker {tcp}:8786」と入力する。
{tcp}には先ほど確認したscheduler側のwifiの物理アドレスを入力する)
↓これはscheduler側のwifiの物理アドレスが「192.168.3.12」の時の入力例です。入力したときにこのようになれば成功です
#ref(): File not found: "daskzu3.jpg" at page "水上_backup/技術資料/食べログから店のレビューを取得"
接続が成功したらscheduler側の画面がこのようになります。(赤色の部分にworker側の物理アドレスが書いてある)
#ref(): File not found: "daskzu5.png" at page "水上_backup/技術資料/食べログから店のレビューを取得"
これを分散したいworker分行ってください。
接続状態になれば準備完了です。scheduler側でプログラムを動かしてください。
・「dask-worker」および「dask-scheduler」と入力しても「内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません」と表示されるとき
→「dask」「distributed」のpathが通ってない可能性がある。
dask-workerを使うときは、pathを通す。
・dask-workerおよびdask-schedulerが通信できなかった場合
ファイアウォールがオンになっているとpc同士で通信できないので、ファイアーウォールを一時的にオフにしておく。(schedule側、worker側の両方)
windowsの場合
https://faq.nec-lavie.jp/qasearch/1007/app/servlet/qadoc?QID=011761
macの場合
https://aprico-media.com/posts/3083#:~:text=Mac%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E3%82%AA%E3%83%95%E3%81%AB%E3%81%99%E3%82%8B%E3%80%8D%E3%81%AE%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%E3%80%82,%E3%81%93%E3%82%8C%E3%81%A7%E3%81%99%E3%81%90%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%81%8C%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82
↓dask.distributedで分散処理
https://catindog.hatenablog.com/entry/2018/03/28/164320