問題タブ [dask-distributed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
987 参照

dask - daskデータフレームを変更する安全でパフォーマンスの高い方法

データ ワークフローの一部として、dask データフレーム列のサブセットの値を変更し、結果をさらに計算するために渡す必要があります。特に、列のマッピングとパーティションのマッピングの 2 つのケースに興味があります。データを操作するための推奨される安全でパフォーマンスの高い方法は何ですか? 各ホストに複数のワーカープロセスがあるクラスターで分散セットアップを実行しています。

ケース1。

実行したい:

これはデータ系列を返すので、元のデータフレームは変更されていないと仮定します。たとえば、列をデータフレームに戻すのは安全dataframe['column']=resですか? おそらくそうではありません。.copy()でコピーを作成し、結果を次のように割り当てる必要があります。

それを行う他の推奨される方法はありますか?

ケース2

データフレームのパーティションをマップする必要があります:

mapping_func()内でpartition[column].map、リスト内包表記を使用するか、単に作成することにより、選択した列の値を変更したいと考えています。繰り返しますが、パーティションを安全に変更し、マッピング関数から返すにはどうすればよいでしょうか?

マッピング関数によって受信されたパーティションは Pandas データフレーム (元のデータのコピーですか?) ですが、データをインプレースで変更しているときにクラッシュが発生します (ただし、例外/エラー メッセージは表示されません)。の呼び出しpartition.copy(deep=False)にも同じことが言えますが、機能しません。パーティションをディープ コピーしてから、その場で変更する必要がありますか? または、新しい/マップされた列データと元の/変更されていないシリーズ/列から常に新しいデータフレームを構築する必要がありますか?

0 投票する
2 に答える
1481 参照

docker - Docker swarm ノードが swarm 内の別のホストからのサービスを検出できない

私の目標は、3 台の Linux (ubuntu) 物理ワークステーションのグループに docker swarm をセットアップし、その上でdaskクラスターを実行することです。

docker swarm を初期化し、すべてのマシンを swarm に追加できます。

docker stack deploy -c docker-compose.yml dask-cluster次に、リーダー ボックスを実行します。

ここにあるdocker-compose.yml

そしてここにありますrichardbrks/dask-cluster

スウォームを展開するとdworker、同じマシン上にないノードは何がdscheduler 何でdschedulerあるかを認識しません。これらのノードの 1 つに SSH で接続し、env を調べましたdschedulerが、そこにはありませんでした。また、ping を実行しようとしたdschedulerところ、「ping: unknown host」が返されました。

docker は、サービス検出に基づいて内部 dns を提供することになっているので、呼び出すとノードdschedulerのアドレスに移動できると思いました。dschedler

コンピューターに設定されていないセットアップはありますか? または、私のファイルに何かが欠けていますか?

このコードはすべてhttps://github.com/MentalMasochist/dask-swarmにもあります