開発コミュニティとサポート | フォーラム | ソーシャル | ドキュメント |
---|---|---|---|
Modin は、Linux、Windows、MacOS にpip
を使用してインストールできます。
pip install " modin[all] " # (Recommended) Install Modin with Ray and Dask engines.
特定のエンジンを使用して Modin をインストールする場合は、次のことをお勧めします。
pip install " modin[ray] " # Install Modin dependencies and Ray.
pip install " modin[dask] " # Install Modin dependencies and Dask.
pip install " modin[mpi] " # Install Modin dependencies and MPI through unidist.
unidist (unidist 0.5.0 以降) を介して MPI 上で Modin を完全に動作させるには、動作する MPI 実装を事前にインストールしておく必要があります。そうしないと、 modin[mpi]
のインストールが失敗する可能性があります。インストールの詳細については、unidist ドキュメントの「pip を使用したインストール」セクションを参照してください。
注: Modin 0.30.0 以降、Ray 依存関係の削減されたセット ( ray[default]
の代わりにray
を使用します。これは、ダッシュボードとクラスター ランチャーがデフォルトではインストールされなくなったことを意味します。これらが必要な場合は、 modin[ray]
とともにray[default]
をインストールすることを検討してください。
Modin は、インストールされているエンジンを自動的に検出し、それを計算のスケジュール設定に使用します。
modin-all
使用して conda forge からインストールすると、Unidist を介して Modin と 3 つのエンジン (Ray、Dask、MPI) がインストールされます。
conda install -c conda-forge modin-all
各エンジンは個別にインストールすることもできます (また、複数のエンジンを組み合わせてインストールすることもできます)。
conda install -c conda-forge modin-ray # Install Modin dependencies and Ray.
conda install -c conda-forge modin-dask # Install Modin dependencies and Dask.
conda install -c conda-forge modin-mpi # Install Modin dependencies and MPI through unidist.
注: Modin 0.30.0 以降、Ray 依存関係の削減されたセット ( ray-default
の代わりにray-core
を使用します。これは、ダッシュボードとクラスター ランチャーがデフォルトではインストールされなくなったことを意味します。これらが必要な場合は、 modin-ray
とともにray-default
をインストールすることを検討してください。
実行する特定の MPI 実装をインストールする方法の詳細については、unidist ドキュメントの「conda を使用したインストール」セクションを参照してください。
conda のインストールを高速化するには、libmamba ソルバーを使用することをお勧めします。これを行うには、基本環境にインストールします。
conda install -n base conda-libmamba-solver
そして、インストール中に次のように使用します。
conda install -c conda-forge modin-ray --experimental-solver=libmamba
または conda 22.11 および libmamba ソルバー 22.12 バージョン以降:
conda install -c conda-forge modin-ray --solver=libmamba
特定の計算エンジンを選択して実行する場合は、環境変数MODIN_ENGINE
を設定すると、Modin がそのエンジンで計算を実行します。
export MODIN_ENGINE=ray # Modin will use Ray
export MODIN_ENGINE=dask # Modin will use Dask
export MODIN_ENGINE=unidist # Modin will use Unidist
Unidist エンジンを選択する場合は、追加の環境変数UNIDIST_BACKEND
を設定する必要があります。現在、Modin は unidist を介した MPI のみをサポートしています。
export UNIDIST_BACKEND=mpi # Unidist will use MPI backend
これは、Modin をインポートする前にノートブック/インタプリタ内で実行することもできます。
import modin . config as modin_cfg
import unidist . config as unidist_cfg
modin_cfg . Engine . put ( "ray" ) # Modin will use Ray
modin_cfg . Engine . put ( "dask" ) # Modin will use Dask
modin_cfg . Engine . put ( 'unidist' ) # Modin will use Unidist
unidist_cfg . Backend . put ( 'mpi' ) # Unidist will use MPI backend
注: Modin を使用した最初の操作の後は、未定義の動作が発生するため、エンジンを変更しないでください。
Linux、MacOS、および Windows では、unidist を通じて Ray、Dask、または MPI をインストールして使用できます。 Modin はすべての複雑さを抽象化しているため、これらのエンジンを使用するのに必要な知識はありません。自由にどちらかを選択してください。
パンダオブジェクト | Modin の Ray エンジンのカバレッジ | Modin の Dask エンジンのカバレッジ | Modin の Unidist エンジン カバレッジ |
---|---|---|---|
pd.DataFrame | |||
pd.Series | |||
pd.read_csv | ✅ | ✅ | ✅ |
pd.read_table | ✅ | ✅ | ✅ |
pd.read_parquet | ✅ | ✅ | ✅ |
pd.read_sql | ✅ | ✅ | ✅ |
pd.read_feather | ✅ | ✅ | ✅ |
pd.read_excel | ✅ | ✅ | ✅ |
pd.read_json | ✳️ | ✳️ | ✳️ |
pd.read_<other> | ✴️ | ✴️ | ✴️ |
Modin に関する完全なドキュメントについては、ReadTheDocs ページをご覧ください。
注: ローカル モード (クラスターなし) では、Modin は実行用にローカル (Dask または Ray) クラスターを作成および管理します。
Modin を使用するには、データの分散方法を指定する必要はなく、システムに搭載されているコアの数さえ知る必要はありません。実際、単一マシンであっても、Modin による大幅な高速化を体験しながら、以前のパンダ ノートブックを引き続き使用できます。 import ステートメントを変更したら、パンダの場合と同じように Modin を使用する準備が整いました。
modin.pandas
データフレームは、非常に軽量な並列データフレームです。 Modin はデータと計算を透過的に分散するため、より多くのデータをより高速に操作しながら、同じパンダ API を引き続き使用できます。 Modin は非常に軽量であるため、4 つの物理コアを備えたラップトップで最大 4 倍の速度向上を実現します。
pandas では、あらゆる種類の計算を実行するときに一度に 1 つのコアしか使用できません。 Modin を使用すると、マシン上のすべての CPU コアを使用できます。 read_csv
のような従来の同期タスクであっても、マシン全体に作業を効率的に分散することで大幅な高速化が見られます。
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
多くの場合、データ サイエンティストは、さまざまなサイズのデータセットを操作するために、さまざまなツールを切り替える必要があります。 pandas で大きなデータフレームを処理するのは遅く、pandas は使用可能なメモリに収まらないほど大きすぎるデータフレームの処理をサポートしていません。その結果、数 MB のデータでのプロトタイピングには適切に機能するパンダ ワークフローは、(マシンのサイズに応じて) 数十 GB または数百 GB まで拡張できません。 Modin はメモリに収まらないデータの操作をサポートしているため、大幅な速度低下やメモリ エラーを心配することなく、数百 GB を快適に操作できます。クラスターとコア外のサポートを備えた Modin は、クラスター内での優れた単一ノード パフォーマンスと高いスケーラビリティの両方を備えた DataFrame ライブラリです。
Modin のアーキテクチャはモジュール式に設計されているため、開発や改善に応じてさまざまなコンポーネントをプラグインできます。
modin.pandas
現在鋭意開発中です。リクエストや寄稿も大歓迎です!
Modin に貢献する方法の詳細については、Modin 貢献ガイドをご覧ください。
Apache ライセンス 2.0