問題タブ [cudf]

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 に答える
472 参照

python - dask.dataframe をすべてのワーカーとパーティションに事前キャッシュして、通信の必要性を減らす方法

dask.dataframe.map_partitionsマージなどの操作に使用すると魅力的な場合があります。一部のシナリオでは、 aleft_dfright_dfusingの間でマージを行う場合、マージを実行する前に基本的に事前キャッシュして、ネットワークのオーバーヘッド/ローカル シャッフルを削減しmap_partitionsたいと考えています。right_dfこれを行う明確な方法はありますか?client.scatter(the_df)client.run(func_to_cache_the_df)、またはその他のインテリジェントブロードキャストのいずれかまたは組み合わせで可能になるはずです。

これは、本質的にルックアップ テーブルでleft_dfあるはるかに小さいテーブルで、大きなテーブルで左結合を行うというコンテキストで特に顕著です。right_dfこれはright_dfメモリに読み込まれ、マージ前にすべてのワーカー/パーティションに永続化/分散されて、最後の最後までクロスパーティション通信の必要性を減らすことができるはずです。right_dfこれをうまく行うにはどうすれば分散できますか?

以下は、cuDF と Dask を使用したこの種の不均衡なマージの小さな例です (ただし、概念的には、これは pandas と Dask でも同じです)。