اقرأ باللغة الإنجليزية

مشاركة عبر


Azure Databricks لمطوري R

يوفر هذا القسم دليلا لتطوير دفاتر الملاحظات والوظائف في Azure Databricks باستخدام لغة R.

سير العمل الأساسي للبدء هو:

  1. استيراد التعليمات البرمجية: إما استيراد التعليمات البرمجية الخاصة بك من الملفات أو Git repos، أو تجربة برنامج تعليمي مدرج أدناه. توصي Databricks بالتعلم لاستخدام دفاتر ملاحظات Azure Databricks التفاعلية.
  2. تشغيل التعليمات البرمجية على نظام مجموعة: إما إنشاء مجموعة خاصة بك، أو التأكد من أن لديك أذونات لاستخدام نظام مجموعة مشترك. قم بإرفاق دفتر الملاحظات بالمجموعة، ثم قم بتشغيل دفتر الملاحظات.

بالإضافة إلى ذلك، يمكنك التفريع في مواضيع أكثر تحديدا:

البرامج التعليمية

توفر البرامج التعليمية التالية أمثلة على التعليمات البرمجية ودفاتر الملاحظات للتعرف على مهام سير العمل الشائعة. راجع استيراد دفتر ملاحظات للحصول على إرشادات حول استيراد أمثلة دفتر الملاحظات إلى مساحة العمل.

المرجع

تسرد الأقسام الفرعية التالية الميزات والتلميحات الرئيسية لمساعدتك في البدء في التطوير في Azure Databricks باستخدام R.

يدعم Azure Databricks اثنين من واجهات برمجة التطبيقات التي توفر واجهة R ل Apache Spark: SparkR وsparklyr.

سبارك

توفر هذه المقالات مقدمة ومرجعا ل SparkR. SparkR هي واجهة R ل Apache Spark التي توفر تنفيذ إطار بيانات موزع. يدعم SparkR عمليات مثل التحديد والتصفية والتجميع (على غرار إطارات بيانات R) ولكن على مجموعات البيانات الكبيرة.

sparklyr

توفر هذه المقالة مقدمة إلى sparklyr. sparklyr هي واجهة R ل Apache Spark التي توفر وظائف مشابهة ل dplyr و broomوDBI.

مقارنة SparkR وsparklyr

تشرح هذه المقالة أوجه التشابه والاختلافات الرئيسية بين SparkR وsparklyr.

العمل مع DataFrames والجداول باستخدام SparkR وsparklyr

توضح هذه المقالة كيفية استخدام R وSparkR وsparklyr وdplyr للعمل مع جداول R data.frames وSpark DataFrames وSpark في Azure Databricks.

إدارة التعليمات البرمجية باستخدام دفاتر الملاحظات ومجلدات Databricks Git

تدعم دفاتر ملاحظات Azure Databricks R. توفر دفاتر الملاحظات هذه وظائف مشابهة لوظائف Jupyter، ولكن مع إضافات مثل المرئيات المضمنة باستخدام البيانات الضخمة، وتكاملات Apache Spark لتصحيح الأخطاء ومراقبة الأداء، وتكاملات MLflow لتتبع تجارب التعلم الآلي. ابدأ باستيراد دفتر ملاحظات. بمجرد أن يكون لديك حق الوصول إلى نظام مجموعة، يمكنك إرفاق دفتر ملاحظات إلى نظام المجموعة وتشغيل دفتر الملاحظات.

تسمح مجلدات Azure Databricks Git للمستخدمين بمزامنة دفاتر الملاحظات والملفات الأخرى مع مستودعات Git. تساعد مجلدات Azure Databricks Git في تعيين إصدار التعليمات البرمجية والتعاون، ويمكنها تبسيط استيراد مستودع كامل من التعليمات البرمجية إلى Azure Databricks، وعرض إصدارات دفتر الملاحظات السابقة، والتكامل مع تطوير IDE. ابدأ بنسخ مستودع Git بعيد. يمكنك بعد ذلك فتح دفاتر الملاحظات أو إنشائها باستخدام نسخة المستودع، وإرفاق دفتر الملاحظات بمجموعة، وتشغيل دفتر الملاحظات.

أنظمة المجموعات

توفر حوسبة Azure Databricks إدارة الحوسبة لكل من العقد الفردية والمجموعات الكبيرة. يمكنك تخصيص أجهزة المجموعة والمكتبات وفقا لاحتياجاتك. سيبدأ علماء البيانات بشكل عام العمل إما عن طريق إنشاء نظام مجموعة أو باستخدام نظام مجموعة مشترك موجود. بمجرد أن يكون لديك حق الوصول إلى نظام مجموعة، يمكنك إرفاق دفتر ملاحظات إلى نظام المجموعة أو تشغيل مهمة على نظام المجموعة.

  • بالنسبة لأحمال العمل الصغيرة التي تتطلب عقدا واحدة فقط، يمكن لعلماء البيانات استخدام حساب عقدة واحدة لتوفير التكاليف.
  • للحصول على تلميحات مفصلة، راجع توصيات تكوين الحساب.
  • يمكن للمسؤولين إعداد نهج نظام المجموعة لتبسيط إنشاء نظام المجموعة وتوجيهه.

عقدة واحدة R وR موزعة

تتكون مجموعات Azure Databricks من عقدة برنامج تشغيل Apache Spark وعقد عامل Spark صفر أو أكثر (المعروفة أيضا باسم المنفذ). تحتفظ عقدة برنامج التشغيل بحالة دفتر الملاحظات SparkContextالمرفقة، وتحافظ على ، وتفسر أوامر دفتر الملاحظات والمكتبة، وتشغل Spark master الذي ينسق مع منفذي Spark. تشغل العقد العاملة منفذي Spark، منفذ Spark واحد لكل عقدة عاملة.

يحتوي نظام مجموعة عقدة واحدة على عقدة برنامج تشغيل واحدة ولا توجد عقد عاملة، مع تشغيل Spark في الوضع المحلي لدعم الوصول إلى الجداول التي تديرها Azure Databricks. تدعم مجموعات العقدة الواحدة RStudio ودفاتر الملاحظات والمكتبات، وهي مفيدة لمشاريع R التي لا تعتمد على Spark للبيانات الضخمة أو المعالجة المتوازية. راجع حساب عقدة واحدة أو حوسبة متعددة العقد.

بالنسبة لأحجام البيانات التي يكافح R لمعالجتها (العديد من الجيجابايت أو بيتابايت)، يجب عليك استخدام عقد متعددة أو مجموعات موزعة بدلا من ذلك. تحتوي المجموعات الموزعة على عقدة برنامج تشغيل واحدة وعقدة عاملة واحدة أو أكثر. لا تدعم المجموعات الموزعة RStudio ودفاتر الملاحظات والمكتبات فحسب، بل تدعم حزم R مثل SparkR وsparkly، والتي تم تصميمها بشكل فريد لاستخدام المجموعات الموزعة من خلال SparkContext. توفر هذه الحزم واجهات برمجة تطبيقات SQL وDataFrame المألوفة، والتي تمكن من تعيين وتشغيل مهام Spark والأوامر المختلفة بالتوازي عبر العقد العاملة. لمعرفة المزيد حول sparklyr وSparkR، راجع مقارنة SparkR وsparklyr.

تتضمن بعض وظائف SparkR وsparklyr التي تستفيد بشكل خاص من توزيع العمل ذي الصلة عبر العقد العاملة ما يلي:

  • sparklyr::spark_apply: تشغيل التعليمات البرمجية R العشوائية على نطاق واسع داخل نظام مجموعة. هذا مفيد بشكل خاص لاستخدام الوظائف المتوفرة فقط في حزم R أو R غير المتوفرة في Apache Spark أو حزم Spark الأخرى.
  • SparkR::d apply: يطبق الدالة المحددة على كل قسم من SparkDataFrame.
  • SparkR::d applyCollect: يطبق الدالة المحددة على كل قسم من SparkDataFrame وتجمع النتائج مرة أخرى إلى R ك data.frame.
  • SparkR::gapply: تجميع باستخدام SparkDataFrame الأعمدة المحددة وتطبيق الدالة R المحددة على كل مجموعة.
  • SparkR::gapplyCollect: يجمع باستخدام SparkDataFrame الأعمدة المحددة، ويطبق الدالة R المحددة على كل مجموعة، ويجمع النتيجة مرة أخرى إلى R ك data.frame.
  • SparkR::spark.lapply: تشغيل الدالة المحددة عبر قائمة من العناصر، وتوزيع الحسابات مع Spark.

للحصول على أمثلة، راجع دفتر الملاحظات الموزع R: الوظائف المعرفة من قبل المستخدم في Spark.

Databricks Container Services

تتيح لك Databricks Container Services تحديد صورة Docker عند إنشاء نظام مجموعة. يوفر Databricks الصورة الأساسية databricksruntime/rbase على Docker Hub كمثال لإطلاق مجموعة Databricks Container Services بدعم R. راجع أيضا Dockerfile المستخدم لإنشاء هذه الصورة الأساسية.

المكتبات

تستخدم مجموعات Azure Databricks وقت تشغيل Databricks، والذي يوفر العديد من المكتبات الشائعة الجاهزة، بما في ذلك Apache Spark وData Lake والمزيد. يمكنك أيضا تثبيت حزم R إضافية تابعة لجهة خارجية أو مخصصة في المكتبات لاستخدامها مع دفاتر الملاحظات والمهام.

ابدأ بالمكتبات الافتراضية في إصدارات ملاحظات إصدار Databricks Runtime والتوافق. استخدم وقت تشغيل Databricks التعلم الآلي لأحمال عمل التعلم الآلي. للحصول على القوائم الكاملة للمكتبات المثبتة مسبقا، راجع قسم "مكتبات R المثبتة" لوقت تشغيل Databricks الهدف في إصدارات ملاحظات وقت تشغيل Databricks والتوافق.

يمكنك تخصيص بيئتك باستخدام مكتبات R ذات نطاق دفتر الملاحظات، والتي تسمح لك بتعديل دفتر الملاحظات أو بيئة الوظيفة باستخدام مكتبات من CRAN أو مستودعات أخرى. للقيام بذلك، يمكنك استخدام دالة install.packages المألوفة من utils. يقوم المثال التالي بتثبيت حزمة سهم R من مستودع CRAN الافتراضي:

install.packages("arrow")

إذا كنت بحاجة إلى إصدار أقدم مما هو مضمن في Databricks Runtime، يمكنك استخدام دفتر ملاحظات لتشغيل وظيفة install_version من devtools. يقوم المثال التالي بتثبيت الإصدار 0.7.4 من dplyr من CRAN:

require(devtools)

install_version(
  package = "dplyr",
  version = "0.7.4",
  repos   = "http://cran.r-project.org"
)

تتوفر الحزم المثبتة بهذه الطريقة عبر نظام مجموعة. يتم تحديد نطاقها للمستخدم الذي يقوم بتثبيتها. يمكنك هذا من تثبيت إصدارات متعددة من نفس الحزمة على نفس الحساب دون إنشاء تعارضات الحزمة.

يمكنك تثبيت مكتبات أخرى كمكتبات نظام المجموعة حسب الحاجة، على سبيل المثال من CRAN. للقيام بذلك، في واجهة مستخدم نظام المجموعة، انقر فوق المكتبات > تثبيت CRAN جديد > وحدد اسم المكتبة. هذا الأسلوب مهم بشكل خاص عندما تريد استدعاء الوظائف المعرفة من قبل المستخدم باستخدام SparkR أو sparklyr.

لمزيد من التفاصيل، راجع المكتبات.

لتثبيت حزمة مخصصة في مكتبة:

  1. إنشاء الحزمة المخصصة من سطر الأوامر أو باستخدام RStudio.

  2. انسخ ملف الحزمة المخصصة من جهاز التطوير الخاص بك إلى مساحة عمل Azure Databricks. للحصول على خيارات، راجع المكتبات.

  3. قم بتثبيت الحزمة المخصصة في مكتبة عن طريق تشغيل install.packages.

    على سبيل المثال، من دفتر ملاحظات في مساحة العمل الخاصة بك:

    install.packages(
      pkgs  = "/path/to/tar/file/<custom-package>.tar.gz",
      type  = "source",
      repos = NULL
    )
    

    أو:

    %sh
    R CMD INSTALL /path/to/tar/file/<custom-package>.tar.gz
    

بعد تثبيت حزمة مخصصة في مكتبة، أضف المكتبة إلى مسار البحث ثم قم بتحميل المكتبة بأمر واحد.

على سبيل المثال:

# Add the library to the search path one time.
.libPaths(c("/path/to/tar/file/", .libPaths()))

# Load the library. You do not need to add the library to the search path again.
library(<custom-package>)

لتثبيت حزمة مخصصة كمكتبة على كل عقدة في نظام مجموعة، يجب استخدام ما هي البرامج النصية init؟.

الرسوم المرئية

تدعم دفاتر ملاحظات Azure Databricks R أنواعا مختلفة من المرئيات باستخدام الدالة display .

المهام

يمكنك أتمتة أحمال عمل R كمهمة دفتر ملاحظات مجدولة أو مشغلة في Azure Databricks.

التعلّم الآلي

يدعم Databricks مجموعة واسعة من أحمال عمل التعلم الآلي (ML)، بما في ذلك التعلم الآلي التقليدي على البيانات الجدولية، والتعلم العميق لرؤية الكمبيوتر ومعالجة اللغة الطبيعية، وأنظمة التوصية، وتحليلات الرسم البياني، والمزيد. للحصول على معلومات عامة حول التعلم الآلي على Azure Databricks، راجع وقت تشغيل Databricks التعلم الآلي.

بالنسبة لخوارزميات التعلم الآلي، يمكنك استخدام المكتبات المثبتة مسبقا في Databricks Runtime التعلم الآلي. يمكنك أيضا تثبيت مكتبات مخصصة.

بالنسبة لعمليات التعلم الآلي (MLOps)، يوفر Azure Databricks خدمة مدارة مصدر مفتوح مكتبة MLflow. باستخدام MLflow Tracking ، يمكنك تسجيل تطوير النموذج وحفظ النماذج بتنسيقات قابلة لإعادة الاستخدام. يمكنك استخدام سجل نموذج MLflow لإدارة وأتمتة ترقية النماذج نحو الإنتاج. تسمح الوظائف وخدمة النموذج باستضافة النماذج كوظائف دفعية ومتدفقة كنقاط نهاية REST. لمزيد من المعلومات والأمثلة، راجع إدارة دورة حياة التعلم الآلي باستخدام MLflow أو مستندات MLflow R API.

أدوات مطور R

بالإضافة إلى دفاتر ملاحظات Azure Databricks، يمكنك أيضا استخدام أدوات مطور R التالية:

تخصيص جلسة R

في Databricks Runtime 12.2 LTS وما فوق، يمكن تخصيص جلسات R باستخدام ملفات ملف التعريف (.Rprofile) على مستوى الموقع. ستصدر دفاتر ملاحظات R الملف كتعلم برمجي R أثناء بدء التشغيل. لتعديل الملف، ابحث عن قيمة R_HOME وعدل $R_HOME/etc/Rprofile.site. لاحظ أن Databricks أضاف تكوينا في الملف لضمان الوظائف المناسبة ل RStudio المستضاف على Azure Databricks. قد تؤدي إزالة أي منها إلى عدم عمل RStudio كما هو متوقع.

في Databricks Runtime 11.3 LTS وما دونه، يمكن تمكين هذا السلوك عن طريق تعيين متغير DATABRICKS_ENABLE_RPROFILE=trueالبيئة .

الموارد الإضافية