Сообщество разработчиков и поддержка | Форумы | Социальные сети | Документы |
---|---|---|---|
Modin можно установить с помощью pip
на Linux, Windows и MacOS:
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.
Чтобы заставить Modin на MPI через unidist (начиная с unidist 0.5.0) полностью работать, необходимо заранее установить работающую реализацию MPI. В противном случае установка modin[mpi]
может завершиться неудачно. Дополнительные сведения об установке см. в разделе «Установка с помощью pip» документации unidist.
Примечание. Начиная с Modin 0.30.0 мы используем сокращенный набор зависимостей Ray: ray
вместо ray[default]
. Это означает, что панель мониторинга и средство запуска кластера больше не устанавливаются по умолчанию. Если они вам нужны, рассмотрите возможность установки ray[default]
вместе с modin[ray]
.
Modin автоматически определяет, какой движок у вас установлен, и использует его для планирования вычислений.
При установке из conda forge с использованием modin-all
будут установлены Modin и три движка: Ray, Dask и MPI через unidist.
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-core
вместо ray-default
. Это означает, что панель мониторинга и средство запуска кластера больше не устанавливаются по умолчанию. Если они вам нужны, рассмотрите возможность установки ray-default
вместе с modin-ray
.
Дополнительную информацию о том, как установить конкретную реализацию MPI для запуска, см. в разделе «Установка с помощью conda» документации unidist.
Чтобы ускорить установку conda, мы рекомендуем использовать решатель libmamba. Для этого установите его в базовую среду:
conda install -n base conda-libmamba-solver
а затем используйте его во время установки, например:
conda install -c conda-forge modin-ray --experimental-solver=libmamba
или начиная с версий conda 22.11 и libmambasolver 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 поддерживает MPI только через unidist:
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 вы можете установить и использовать Ray, Dask или MPI через unidist. Для использования любого из этих движков не требуется никаких знаний, поскольку Modin абстрагирует всю сложность, поэтому смело выбирайте любой из них!
Панды Объект | Охват Modin's Ray Engine | Обзор движка Modin Dask | Охват Unidist Engine от 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> | ✴️ | ✴️ | ✴️ |
Полную документацию по Modin можно найти на нашей странице ReadTheDocs.
Примечание. В локальном режиме (без кластера) Modin создаст и будет управлять локальным кластером (Dask или Ray) для выполнения.
Чтобы использовать Modin, вам не нужно указывать, как распределять данные, или даже знать, сколько ядер имеет ваша система. Фактически, вы можете продолжать использовать свои предыдущие ноутбуки Pandas, испытывая при этом значительное ускорение от Modin, даже на одном компьютере. После того как вы изменили оператор импорта, вы готовы использовать Modin так же, как и с пандами!
DataFrame modin.pandas
— это чрезвычайно легкий параллельный DataFrame. Modin прозрачно распределяет данные и вычисления, так что вы можете продолжать использовать тот же API pandas, быстрее работая с большим количеством данных. Благодаря небольшому весу Modin обеспечивает ускорение работы ноутбука с 4 физическими ядрами до 4 раз.
В pandas вы можете использовать только одно ядро одновременно, когда выполняете какие-либо вычисления. С Modin вы можете использовать все ядра ЦП на вашем компьютере. Даже при выполнении традиционно синхронной задачи, такой как read_csv
, мы видим значительное ускорение за счет эффективного распределения работы по всей машине.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
Часто ученым, работающим с данными, приходится переключаться между разными инструментами для работы с наборами данных разного размера. Обработка больших фреймов данных с помощью pandas происходит медленно, и pandas не поддерживает работу с фреймами данных, которые слишком велики, чтобы поместиться в доступную память. В результате рабочие процессы pandas, которые хорошо работают для создания прототипов на нескольких МБ данных, не масштабируются до десятков или сотен ГБ (в зависимости от размера вашей машины). Modin поддерживает работу с данными, которые не помещаются в память, поэтому вы можете комфортно работать с сотнями ГБ, не беспокоясь о существенном замедлении работы или ошибках памяти. Modin представляет собой библиотеку DataFrame с поддержкой кластеров и вне ядра, обладающую как высокой производительностью на одном узле, так и высокой масштабируемостью в кластере.
Мы разработали архитектуру Modin как модульную, чтобы мы могли подключать различные компоненты по мере их развития и улучшения:
modin.pandas
в настоящее время находится в активной разработке. Пожелания и вклад приветствуются!
Для получения дополнительной информации о том, как внести свой вклад в Modin, ознакомьтесь с Руководством по вкладам в Modin.
Лицензия Апач 2.0