مجتمع التطوير والدعم | المنتديات | اجتماعيات | المستندات |
---|---|---|---|
يمكن تثبيت 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]
. راجع قسم التثبيت باستخدام النقطة في وثائق 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
.
راجع قسم التثبيت باستخدام conda في وثائق Unidist للحصول على مزيد من التفاصيل حول كيفية تثبيت تطبيق MPI محدد للتشغيل عليه.
لتسريع عملية تثبيت conda، نوصي باستخدام libmamba Solver. للقيام بذلك، قم بتثبيته في بيئة أساسية:
conda install -n base conda-libmamba-solver
ثم استخدمه أثناء التثبيت إما مثل:
conda install -c conda-forge modin-ray --experimental-solver=libmamba
أو بدءًا من إصدارات conda 22.11 وlibmamba Solver 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 كل التعقيدات، لذا لا تتردد في اختيار أي منهما!
كائن الباندا | تغطية محرك راي مودين | تغطية محرك Dask الخاص بـ Modin | تغطية محرك 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، حتى على جهاز واحد. بمجرد تغيير بيان الاستيراد الخاص بك، تصبح جاهزًا لاستخدام Modin تمامًا كما تفعل مع الباندا!
يعد modin.pandas
DataFrame عبارة عن DataFrame متوازي خفيف الوزن للغاية. يقوم Modin بتوزيع البيانات والحسابات بشفافية بحيث يمكنك الاستمرار في استخدام نفس واجهة برمجة تطبيقات pandas أثناء العمل مع المزيد من البيانات بشكل أسرع. نظرًا لأنه خفيف الوزن للغاية، يوفر Modin سرعات تصل إلى 4x على جهاز كمبيوتر محمول مزود بـ 4 مراكز فعلية.
في الباندا، يمكنك فقط استخدام نواة واحدة في كل مرة عندما تقوم بإجراء أي نوع من العمليات الحسابية. باستخدام Modin، يمكنك استخدام جميع مراكز وحدة المعالجة المركزية (CPU) الموجودة على جهازك. حتى مع المهام المتزامنة تقليديًا مثل read_csv
، فإننا نرى عمليات تسريع كبيرة من خلال توزيع العمل بكفاءة عبر جهازك بالكامل.
import modin . pandas as pd
df = pd . read_csv ( "my_dataset.csv" )
في كثير من الأحيان يتعين على علماء البيانات التبديل بين الأدوات المختلفة للعمل على مجموعات البيانات ذات الأحجام المختلفة. تعد معالجة إطارات البيانات الكبيرة باستخدام الباندا بطيئة، ولا تدعم الباندا العمل مع إطارات البيانات الكبيرة جدًا بحيث لا تتناسب مع الذاكرة المتوفرة. ونتيجة لذلك، فإن سير عمل الباندا الذي يعمل بشكل جيد لإنشاء نماذج أولية على عدد قليل من ميغابايت من البيانات لا يصل إلى عشرات أو مئات الجيجابايت (اعتمادًا على حجم جهازك). يدعم Modin التشغيل على البيانات التي لا تتناسب مع الذاكرة، بحيث يمكنك العمل بشكل مريح مع مئات الجيجابايت دون القلق بشأن التباطؤ الكبير أو أخطاء الذاكرة. مع الدعم العنقودي والخارجي، تعد Modin مكتبة DataFrame تتمتع بأداء رائع للعقدة الواحدة وقابلية عالية للتوسع في المجموعة.
لقد صممنا بنية Modin لتكون معيارية حتى نتمكن من توصيل مكونات مختلفة أثناء تطويرها وتحسينها:
modin.pandas
قيد التطوير النشط حاليًا. الطلبات والمساهمات هي موضع ترحيب!
لمزيد من المعلومات حول كيفية المساهمة في Modin، راجع دليل مساهمة Modin.
ترخيص أباتشي 2.0