Entwickler-Community und Support | Foren | Soziale Netzwerke | Dokumente |
---|---|---|---|
Modin kann mit pip
unter Linux, Windows und MacOS installiert werden:
pip install " modin[all] " # (Recommended) Install Modin with Ray and Dask engines.
Wenn Sie Modin mit einer bestimmten Engine installieren möchten, empfehlen wir:
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.
Damit Modin auf MPI über unidist (ab unidist 0.5.0) vollständig funktioniert, muss zuvor eine funktionierende MPI-Implementierung installiert sein. Andernfalls kann die Installation von modin[mpi]
fehlschlagen. Weitere Informationen zur Installation finden Sie im Abschnitt „Installation mit pip“ der unidist-Dokumentation.
Hinweis: Seit Modin 0.30.0 verwenden wir einen reduzierten Satz von Ray-Abhängigkeiten: ray
anstelle von ray[default]
. Dies bedeutet, dass das Dashboard und der Cluster-Launcher nicht mehr standardmäßig installiert sind. Wenn Sie diese benötigen, sollten Sie die Installation ray[default]
zusammen mit modin[ray]
in Betracht ziehen.
Modin erkennt automatisch, welche Engine(s) Sie installiert haben und verwendet diese für die Planungsberechnung.
Durch die Installation von Conda Forge mit modin-all
werden Modin und drei Engines installiert: Ray, Dask und MPI über Unidist.
conda install -c conda-forge modin-all
Jeder Motor kann auch einzeln (und auch als Kombination mehrerer Motoren) eingebaut werden:
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.
Hinweis: Seit Modin 0.30.0 verwenden wir einen reduzierten Satz von Ray-Abhängigkeiten: ray-core
anstelle von ray-default
. Dies bedeutet, dass das Dashboard und der Cluster-Launcher nicht mehr standardmäßig installiert sind. Wenn Sie diese benötigen, sollten Sie die Installation ray-default
zusammen mit modin-ray
in Betracht ziehen.
Weitere Informationen zur Installation einer bestimmten MPI-Implementierung zur Ausführung finden Sie im Abschnitt „Installation mit Conda“ der unidist-Dokumentation.
Um die Conda-Installation zu beschleunigen, empfehlen wir die Verwendung des libmamba-Solvers. Installieren Sie es dazu in einer Basisumgebung:
conda install -n base conda-libmamba-solver
und verwenden Sie es dann während der Installation entweder wie folgt:
conda install -c conda-forge modin-ray --experimental-solver=libmamba
oder ab den Versionen Conda 22.11 und Libmamba Solver 22.12:
conda install -c conda-forge modin-ray --solver=libmamba
Wenn Sie eine bestimmte Rechen-Engine zur Ausführung auswählen möchten, können Sie die Umgebungsvariable MODIN_ENGINE
festlegen und Modin führt die Berechnungen mit dieser Engine durch:
export MODIN_ENGINE=ray # Modin will use Ray
export MODIN_ENGINE=dask # Modin will use Dask
export MODIN_ENGINE=unidist # Modin will use Unidist
Wenn Sie die Unidist-Engine wählen möchten, sollten Sie die zusätzliche Umgebungsvariable UNIDIST_BACKEND
setzen. Derzeit unterstützt Modin MPI nur über unidist:
export UNIDIST_BACKEND=mpi # Unidist will use MPI backend
Dies kann auch innerhalb eines Notebooks/Interpreters erfolgen, bevor Sie Modin importieren:
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
Hinweis: Sie sollten die Engine nach dem ersten Betrieb mit Modin nicht ändern, da dies zu undefiniertem Verhalten führt.
Unter Linux, MacOS und Windows können Sie über unidist entweder Ray, Dask oder MPI installieren und verwenden. Es sind keine Kenntnisse erforderlich, um eine dieser Engines zu verwenden, da Modin die gesamte Komplexität abstrahiert. Sie können sich also für eine der beiden Engines entscheiden!
Pandas-Objekt | Modins Ray Engine-Abdeckung | Modins Dask Engine-Abdeckung | Modins Unidist Engine-Abdeckung |
---|---|---|---|
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> | ✴️ | ✴️ | ✴️ |
Die vollständige Dokumentation zu Modin finden Sie auf unserer ReadTheDocs-Seite.
Hinweis: Im lokalen Modus (ohne Cluster) erstellt und verwaltet Modin einen lokalen (Dask oder Ray) Cluster für die Ausführung.
Um Modin zu verwenden, müssen Sie nicht angeben, wie die Daten verteilt werden sollen, oder wissen, wie viele Kerne Ihr System hat. Tatsächlich können Sie Ihre vorherigen Pandas-Notebooks weiterhin verwenden und profitieren dabei von einer erheblichen Geschwindigkeitssteigerung durch Modin, sogar auf einem einzelnen Computer. Sobald Sie Ihre Importanweisung geändert haben, können Sie Modin genau wie Pandas verwenden!
Der modin.pandas
DataFrame ist ein extrem leichter paralleler DataFrame. Modin verteilt die Daten und Berechnungen transparent, sodass Sie weiterhin dieselbe Pandas-API verwenden und gleichzeitig schneller mit mehr Daten arbeiten können. Aufgrund seines geringen Gewichts ermöglicht Modin bis zu vierfache Geschwindigkeitssteigerungen auf einem Laptop mit 4 physischen Kernen.
In Pandas können Sie jeweils nur einen Kern verwenden, wenn Sie Berechnungen jeglicher Art durchführen. Mit Modin können Sie alle CPU-Kerne Ihrer Maschine nutzen. Selbst bei einer traditionell synchronen Aufgabe wie read_csv
sehen wir große Beschleunigungen durch die effiziente Verteilung der Arbeit auf Ihrem gesamten Computer.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
Datenwissenschaftler müssen häufig zwischen verschiedenen Tools wechseln, um Datensätze unterschiedlicher Größe zu bearbeiten. Die Verarbeitung großer Datenrahmen mit Pandas ist langsam und Pandas unterstützt nicht die Arbeit mit Datenrahmen, die zu groß sind, um in den verfügbaren Speicher zu passen. Daher lassen sich Pandas-Workflows, die sich gut für die Prototypenerstellung mit wenigen MB Daten eignen, nicht auf Dutzende oder Hunderte GB skalieren (abhängig von der Größe Ihres Computers). Modin unterstützt die Verarbeitung von Daten, die nicht in den Speicher passen, sodass Sie bequem mit Hunderten von GB arbeiten können, ohne sich über erhebliche Verlangsamungen oder Speicherfehler Gedanken machen zu müssen. Mit Cluster- und Out-of-Core-Unterstützung ist Modin eine DataFrame-Bibliothek mit sowohl hervorragender Einzelknotenleistung als auch hoher Skalierbarkeit in einem Cluster.
Wir haben die Architektur von Modin modular gestaltet, sodass wir verschiedene Komponenten integrieren können, während sie sich weiterentwickeln und verbessern:
modin.pandas
befindet sich derzeit in aktiver Entwicklung. Anfragen und Beiträge sind willkommen!
Weitere Informationen darüber, wie Sie zu Modin beitragen können, finden Sie im Modin Contribution Guide.
Apache-Lizenz 2.0