개발자 커뮤니티 및 지원 | 포럼 | 소셜 | 문서 |
---|---|---|---|
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[default]
대신 ray
라는 감소된 Ray 종속성 세트를 사용합니다. 이는 대시보드와 클러스터 시작 관리자가 더 이상 기본적으로 설치되지 않음을 의미합니다. 필요한 경우 modin[ray]
와 함께 ray[default]
설치를 고려하세요.
Modin은 귀하가 설치한 엔진을 자동으로 감지하고 이를 계산 예약에 사용합니다.
modin-all
사용하여 conda forge에서 설치하면 Unidist를 통해 Modin과 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-default
대신 ray-core
라는 축소된 Ray 종속성 세트를 사용합니다. 이는 대시보드와 클러스터 시작 관리자가 더 이상 기본적으로 설치되지 않음을 의미합니다. 필요한 경우 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의 상당한 속도 향상을 경험하면서 이전 Pandas Notebook을 계속 사용할 수 있습니다. import 문을 변경하고 나면 pandas에서와 마찬가지로 Modin을 사용할 준비가 된 것입니다!
modin.pandas
DataFrame은 매우 가벼운 병렬 DataFrame입니다. Modin은 데이터와 계산을 투명하게 분산하므로 동일한 pandas API를 계속 사용하면서 더 많은 데이터를 더 빠르게 작업할 수 있습니다. Modin은 매우 가볍기 때문에 4개의 물리적 코어가 있는 노트북에서 최대 4배의 속도 향상을 제공합니다.
Pandas에서는 모든 종류의 계산을 수행할 때 한 번에 하나의 코어만 사용할 수 있습니다. Modin을 사용하면 컴퓨터의 모든 CPU 코어를 사용할 수 있습니다. read_csv
와 같은 전통적인 동기식 작업을 사용하더라도 작업을 전체 머신에 효율적으로 배포함으로써 속도가 크게 향상되는 것을 볼 수 있습니다.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
데이터 과학자는 다양한 크기의 데이터 세트를 작업하기 위해 다양한 도구 간에 전환해야 하는 경우가 많습니다. Pandas를 사용하여 대규모 데이터 프레임을 처리하는 것은 느리고 Pandas는 너무 커서 사용 가능한 메모리에 맞지 않는 데이터 프레임 작업을 지원하지 않습니다. 결과적으로 몇 MB의 데이터에 대한 프로토타입 제작에 잘 작동하는 Pandas 워크플로는 시스템 크기에 따라 수십 또는 수백 GB로 확장되지 않습니다. Modin은 메모리에 맞지 않는 데이터에 대한 작업을 지원하므로 상당한 속도 저하나 메모리 오류에 대한 걱정 없이 수백 GB를 사용하여 편안하게 작업할 수 있습니다. 클러스터 및 핵심 지원을 통해 Modin은 뛰어난 단일 노드 성능과 클러스터의 높은 확장성을 모두 갖춘 DataFrame 라이브러리입니다.
우리는 Modin의 아키텍처를 모듈식으로 설계하여 개발 및 개선 시 다양한 구성 요소를 연결할 수 있습니다.
modin.pandas
현재 활발하게 개발 중입니다. 요청과 기여를 환영합니다!
Modin에 기여하는 방법에 대한 자세한 내용은 Modin 기여 가이드를 확인하세요.
아파치 라이선스 2.0