Comunidade de desenvolvedores e suporte | Fóruns | Redes Sociais | Documentos |
---|---|---|---|
Modin pode ser instalado com pip
no Linux, Windows e MacOS:
pip install " modin[all] " # (Recommended) Install Modin with Ray and Dask engines.
Se você deseja instalar o Modin com um mecanismo específico, 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 o Modin no MPI através do unidist (a partir do unidist 0.5.0) funcione totalmente, é necessário ter uma implementação MPI funcional instalada previamente. Caso contrário, a instalação do modin[mpi]
poderá falhar. Consulte a seção Instalando com pip da documentação do unidist para obter mais detalhes sobre a instalação.
Nota: Desde o Modin 0.30.0, usamos um conjunto reduzido de dependências de Ray: ray
em vez de ray[default]
. Isso significa que o painel e o ativador de cluster não são mais instalados por padrão. Se você precisar deles, considere instalar ray[default]
junto com modin[ray]
.
O Modin detecta automaticamente quais mecanismos você instalou e os usa para agendar cálculos.
Instalar a partir do conda forge usando modin-all
instalará o Modin e três motores: Ray, Dask e MPI através do unidist.
conda install -c conda-forge modin-all
Cada motor também pode ser instalado individualmente (e também como uma combinação de vários 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 o Modin 0.30.0, usamos um conjunto reduzido de dependências de Ray: ray-core
em vez de ray-default
. Isso significa que o painel e o ativador de cluster não são mais instalados por padrão. Se você precisar deles, considere instalar ray-default
junto com modin-ray
.
Consulte a seção Instalando com conda da documentação do unidist para obter mais detalhes sobre como instalar uma implementação MPI específica para execução.
Para acelerar a instalação do conda, recomendamos o uso do solucionador libmamba. Para fazer isso instale-o em um ambiente base:
conda install -n base conda-libmamba-solver
e use-o durante a instalação como:
conda install -c conda-forge modin-ray --experimental-solver=libmamba
ou a partir das versões conda 22.11 e libmamba solver 22.12:
conda install -c conda-forge modin-ray --solver=libmamba
Se quiser escolher um mecanismo de computação específico para execução, você pode definir a variável de ambiente MODIN_ENGINE
e Modin fará o cálculo com esse mecanismo:
export MODIN_ENGINE=ray # Modin will use Ray
export MODIN_ENGINE=dask # Modin will use Dask
export MODIN_ENGINE=unidist # Modin will use Unidist
Se quiser escolher o mecanismo Unidist, você deve definir a variável de ambiente adicional UNIDIST_BACKEND
. Atualmente, Modin só suporta MPI através do unidist:
export UNIDIST_BACKEND=mpi # Unidist will use MPI backend
Isso também pode ser feito em um notebook/intérprete antes de importar o 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: Você não deve alterar o mecanismo após sua primeira operação com Modin, pois isso resultará em um comportamento indefinido.
No Linux, MacOS e Windows você pode instalar e usar Ray, Dask ou MPI através do unidist. Não é necessário nenhum conhecimento para usar qualquer um desses mecanismos, pois o Modin abstrai toda a complexidade, então fique à vontade para escolher qualquer um deles!
objeto pandas | Cobertura do motor Ray da Modin | Cobertura do motor Dask da Modin | Cobertura do mecanismo Unidist da 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 a documentação completa sobre Modin, visite nossa página ReadTheDocs.
Nota: No modo local (sem cluster), Modin criará e gerenciará um cluster local (Dask ou Ray) para a execução.
Para usar o Modin, você não precisa especificar como distribuir os dados, nem mesmo saber quantos núcleos seu sistema possui. Na verdade, você pode continuar usando seus notebooks pandas anteriores enquanto experimenta uma aceleração considerável do Modin, mesmo em uma única máquina. Depois de alterar sua instrução de importação, você estará pronto para usar o Modin como faria com o pandas!
O modin.pandas
DataFrame é um DataFrame paralelo extremamente leve. O Modin distribui os dados e a computação de forma transparente para que você possa continuar usando a mesma API do pandas enquanto trabalha com mais dados com mais rapidez. Por ser tão leve, o Modin oferece acelerações de até 4x em um laptop com 4 núcleos físicos.
Nos pandas, você só pode usar um núcleo por vez quando estiver fazendo qualquer tipo de cálculo. Com o Modin, você pode usar todos os núcleos da CPU da sua máquina. Mesmo com uma tarefa tradicionalmente síncrona como read_csv
, vemos grandes acelerações ao distribuir eficientemente o trabalho por toda a máquina.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
Freqüentemente, os cientistas de dados precisam alternar entre diferentes ferramentas para operar em conjuntos de dados de tamanhos diferentes. O processamento de dataframes grandes com pandas é lento e o pandas não suporta o trabalho com dataframes grandes demais para caber na memória disponível. Como resultado, os fluxos de trabalho do pandas que funcionam bem para prototipagem em alguns MBs de dados não são dimensionados para dezenas ou centenas de GBs (dependendo do tamanho da sua máquina). Modin suporta a operação com dados que não cabem na memória, para que você possa trabalhar confortavelmente com centenas de GBs sem se preocupar com lentidão substancial ou erros de memória. Com suporte a cluster e fora do núcleo, Modin é uma biblioteca DataFrame com excelente desempenho de nó único e alta escalabilidade em um cluster.
Projetamos a arquitetura do Modin para ser modular, para que possamos conectar diferentes componentes à medida que eles se desenvolvem e melhoram:
modin.pandas
está atualmente em desenvolvimento ativo. Pedidos e contribuições são bem-vindos!
Para obter mais informações sobre como contribuir com o Modin, consulte o Guia de Contribuição do Modin.
Licença Apache 2.0