Komunitas & Dukungan Pengembang | Forum | Sosial | dokumen |
---|---|---|---|
Modin dapat diinstal dengan pip
di Linux, Windows dan MacOS:
pip install " modin[all] " # (Recommended) Install Modin with Ray and Dask engines.
Jika Anda ingin menginstal Modin dengan mesin tertentu, kami merekomendasikan:
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.
Agar Modin di MPI melalui unidist (mulai unidist 0.5.0) berfungsi penuh, implementasi MPI yang berfungsi harus diinstal terlebih dahulu. Jika tidak, instalasi modin[mpi]
mungkin gagal. Lihat bagian Menginstal dengan pip pada dokumentasi unidist untuk detail lebih lanjut tentang instalasi.
Catatan: Sejak Modin 0.30.0 kami menggunakan kumpulan dependensi Ray yang dikurangi: ray
alih-alih ray[default]
. Artinya dashboard dan peluncur cluster tidak lagi diinstal secara default. Jika Anda membutuhkannya, pertimbangkan untuk menginstal ray[default]
bersama dengan modin[ray]
.
Modin secara otomatis mendeteksi mesin mana yang telah Anda instal dan menggunakannya untuk perhitungan penjadwalan.
Menginstal dari conda forge menggunakan modin-all
akan menginstal Modin dan tiga mesin: Ray, Dask dan MPI melalui unidist.
conda install -c conda-forge modin-all
Setiap mesin juga dapat dipasang secara terpisah (dan juga sebagai kombinasi beberapa mesin):
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.
Catatan: Sejak Modin 0.30.0 kami menggunakan kumpulan dependensi Ray yang dikurangi: ray-core
alih-alih ray-default
. Artinya dashboard dan peluncur cluster tidak lagi diinstal secara default. Jika Anda memerlukannya, pertimbangkan untuk menginstal ray-default
bersama dengan modin-ray
.
Lihat bagian Menginstal dengan conda pada dokumentasi unidist untuk detail lebih lanjut tentang cara menginstal implementasi MPI tertentu agar dapat dijalankan.
Untuk mempercepat instalasi conda kami sarankan menggunakan pemecah libmamba. Untuk melakukan ini, instal di lingkungan dasar:
conda install -n base conda-libmamba-solver
dan kemudian menggunakannya selama instalasi seperti:
conda install -c conda-forge modin-ray --experimental-solver=libmamba
atau mulai dari versi conda 22.11 dan libmamba solver 22.12:
conda install -c conda-forge modin-ray --solver=libmamba
Jika Anda ingin memilih mesin komputasi tertentu untuk dijalankan, Anda dapat mengatur variabel lingkungan MODIN_ENGINE
dan Modin akan melakukan komputasi dengan mesin tersebut:
export MODIN_ENGINE=ray # Modin will use Ray
export MODIN_ENGINE=dask # Modin will use Dask
export MODIN_ENGINE=unidist # Modin will use Unidist
Jika Anda ingin memilih mesin Unidist, Anda harus menyetel variabel lingkungan tambahan UNIDIST_BACKEND
. Saat ini, Modin hanya mendukung MPI melalui unidist:
export UNIDIST_BACKEND=mpi # Unidist will use MPI backend
Ini juga dapat dilakukan dalam buku catatan/penerjemah sebelum Anda mengimpor 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
Catatan: Anda tidak boleh mengganti mesin setelah pengoperasian pertama Anda dengan Modin karena akan mengakibatkan perilaku tidak terdefinisi.
Di Linux, MacOS, dan Windows Anda dapat menginstal dan menggunakan Ray, Dask, atau MPI melalui unidist. Tidak diperlukan pengetahuan untuk menggunakan salah satu mesin ini karena Modin mengabstraksi semua kerumitannya, jadi silakan memilih salah satunya!
Objek panda | Cakupan Mesin Ray Modin | Cakupan Mesin Dask Modin | Cakupan Mesin Unidist 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> | ✴️ | ✴️ | ✴️ |
Untuk dokumentasi lengkap tentang Modin, kunjungi halaman ReadTheDocs kami.
Catatan: Dalam mode lokal (tanpa cluster), Modin akan membuat dan mengelola cluster lokal (Dask atau Ray) untuk dieksekusi.
Untuk menggunakan Modin, Anda tidak perlu menentukan cara mendistribusikan data, atau bahkan mengetahui berapa banyak core yang dimiliki sistem Anda. Faktanya, Anda dapat terus menggunakan notebook pandas sebelumnya sambil merasakan peningkatan yang signifikan dari Modin, bahkan pada satu mesin. Setelah Anda mengubah pernyataan impor, Anda siap menggunakan Modin seperti yang Anda lakukan dengan panda!
modin.pandas
DataFrame adalah DataFrame paralel yang sangat ringan. Modin secara transparan mendistribusikan data dan komputasi sehingga Anda dapat terus menggunakan API pandas yang sama sambil bekerja dengan lebih banyak data dengan lebih cepat. Karena bobotnya yang ringan, Modin memberikan speed-up hingga 4x pada laptop dengan 4 core fisik.
Di panda, Anda hanya dapat menggunakan satu inti pada satu waktu saat Anda melakukan komputasi apa pun. Dengan Modin, Anda dapat menggunakan semua inti CPU di mesin Anda. Bahkan dengan tugas sinkron tradisional seperti read_csv
, kami melihat peningkatan pesat dengan mendistribusikan pekerjaan secara efisien ke seluruh mesin Anda.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
Seringkali data scientist harus beralih di antara alat yang berbeda untuk mengoperasikan kumpulan data dengan ukuran berbeda. Pemrosesan kerangka data besar dengan pandas berjalan lambat, dan pandas tidak mendukung penggunaan kerangka data yang terlalu besar untuk dimasukkan ke dalam memori yang tersedia. Akibatnya, alur kerja pandas yang berfungsi dengan baik untuk pembuatan prototipe pada beberapa MB data tidak berskala hingga puluhan atau ratusan GB (bergantung pada ukuran mesin Anda). Modin mendukung pengoperasian pada data yang tidak muat dalam memori, sehingga Anda dapat bekerja dengan nyaman dengan ratusan GB tanpa khawatir akan perlambatan besar atau kesalahan memori. Dengan dukungan klaster dan di luar inti, Modin adalah pustaka DataFrame dengan kinerja simpul tunggal yang hebat dan skalabilitas tinggi dalam sebuah klaster.
Kami merancang arsitektur Modin menjadi modular sehingga kami dapat menyambungkan berbagai komponen seiring pengembangan dan peningkatannya:
modin.pandas
saat ini sedang dalam pengembangan aktif. Permintaan dan kontribusi dipersilakan!
Untuk informasi lebih lanjut tentang cara berkontribusi pada Modin, lihat Panduan Kontribusi Modin.
Lisensi Apache 2.0