Comunidad de desarrolladores y soporte | Foros | Sociales | Documentos |
---|---|---|---|
Modin se puede instalar con pip
en Linux, Windows y MacOS:
pip install " modin[all] " # (Recommended) Install Modin with Ray and Dask engines.
Si deseas instalar Modin con un motor específico, te recomendamos:
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.
Para que Modin en MPI a través de unidist (a partir de unidist 0.5.0) funcione completamente, es necesario tener instalada de antemano una implementación MPI que funcione. De lo contrario, la instalación de modin[mpi]
puede fallar. Consulte la sección Instalación con pip de la documentación unidist para obtener más detalles sobre la instalación.
Nota: Desde Modin 0.30.0 utilizamos un conjunto reducido de dependencias de Ray: ray
en lugar de ray[default]
. Esto significa que el panel y el iniciador de clústeres ya no están instalados de forma predeterminada. Si los necesita, considere instalar ray[default]
junto con modin[ray]
.
Modin detecta automáticamente qué motores tiene instalados y los utiliza para programar el cálculo.
La instalación desde conda forge usando modin-all
instalará Modin y tres motores: Ray, Dask y MPI a través de unidist.
conda install -c conda-forge modin-all
Cada motor también se puede instalar individualmente (y también como combinación de varios motores):
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.
Nota: Desde Modin 0.30.0 utilizamos un conjunto reducido de dependencias de Ray: ray-core
en lugar de ray-default
. Esto significa que el panel y el iniciador de clústeres ya no están instalados de forma predeterminada. Si los necesita, considere instalar ray-default
junto con modin-ray
.
Consulte la sección Instalación con conda de la documentación unidist para obtener más detalles sobre cómo instalar una implementación MPI específica para ejecutarla.
Para acelerar la instalación de conda, recomendamos utilizar libmamba solver. Para hacer esto instálelo en un entorno base:
conda install -n base conda-libmamba-solver
y luego usarlo durante la instalación como:
conda install -c conda-forge modin-ray --experimental-solver=libmamba
o a partir de las versiones conda 22.11 y libmamba solver 22.12:
conda install -c conda-forge modin-ray --solver=libmamba
Si desea elegir un motor informático específico para ejecutar, puede configurar la variable de entorno MODIN_ENGINE
y Modin realizará el cálculo con ese motor:
export MODIN_ENGINE=ray # Modin will use Ray
export MODIN_ENGINE=dask # Modin will use Dask
export MODIN_ENGINE=unidist # Modin will use Unidist
Si desea elegir el motor Unidist, debe configurar la variable de entorno adicional UNIDIST_BACKEND
. Actualmente, Modin sólo admite MPI a través de unidist:
export UNIDIST_BACKEND=mpi # Unidist will use MPI backend
Esto también se puede hacer dentro de un cuaderno/intérprete antes de importar 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
Nota: No debe cambiar el motor después de su primera operación con Modin, ya que dará como resultado un comportamiento indefinido.
En Linux, MacOS y Windows puedes instalar y usar Ray, Dask o MPI a través de unidist. No se requieren conocimientos para utilizar ninguno de estos motores, ya que Modin abstrae toda la complejidad, ¡así que siéntete libre de elegir cualquiera de los dos!
objeto pandas | Cobertura del motor de rayos de Modin | Cobertura del motor Dask de Modin | Cobertura del motor unidista de Modin |
---|---|---|---|
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> | ✴️ | ✴️ | ✴️ |
Para obtener la documentación completa sobre Modin, visite nuestra página ReadTheDocs.
Nota: En modo local (sin un clúster), Modin creará y administrará un clúster local (Dask o Ray) para la ejecución.
Para utilizar Modin, no es necesario especificar cómo distribuir los datos, ni siquiera saber cuántos núcleos tiene su sistema. De hecho, puede continuar usando sus portátiles Pandas anteriores mientras experimenta una aceleración considerable con Modin, incluso en una sola máquina. Una vez que haya cambiado su declaración de importación, estará listo para usar Modin tal como lo haría con los pandas.
El DataFrame modin.pandas
es un DataFrame paralelo extremadamente liviano. Modin distribuye de forma transparente los datos y los cálculos para que puedas seguir usando la misma API de pandas mientras trabajas con más datos más rápido. Debido a que es tan liviano, Modin ofrece aceleraciones de hasta 4 veces en una computadora portátil con 4 núcleos físicos.
En pandas, solo puedes usar un núcleo a la vez cuando realizas cálculos de cualquier tipo. Con Modin, puedes utilizar todos los núcleos de CPU de tu máquina. Incluso con una tarea tradicionalmente sincrónica como read_csv
, vemos grandes aceleraciones al distribuir eficientemente el trabajo en toda la máquina.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
A menudo, los científicos de datos tienen que cambiar entre diferentes herramientas para operar con conjuntos de datos de diferentes tamaños. El procesamiento de marcos de datos grandes con pandas es lento y pandas no admite trabajar con marcos de datos que son demasiado grandes para caber en la memoria disponible. Como resultado, los flujos de trabajo de Pandas que funcionan bien para la creación de prototipos en unos pocos MB de datos no escalan a decenas o cientos de GB (dependiendo del tamaño de su máquina). Modin admite el funcionamiento con datos que no caben en la memoria, por lo que puede trabajar cómodamente con cientos de GB sin preocuparse por una desaceleración sustancial o errores de memoria. Con soporte de clúster y fuera del núcleo, Modin es una biblioteca DataFrame con un excelente rendimiento en un solo nodo y alta escalabilidad en un clúster.
Diseñamos la arquitectura de Modin para que sea modular, de modo que podamos conectar diferentes componentes a medida que se desarrollan y mejoran:
modin.pandas
se encuentra actualmente en desarrollo activo. ¡Solicitudes y contribuciones son bienvenidas!
Para obtener más información sobre cómo contribuir a Modin, consulte la Guía de contribución de Modin.
Licencia Apache 2.0