Azure Databricks لمطوري R
يوفر هذا القسم دليلا لتطوير دفاتر الملاحظات والوظائف في Azure Databricks باستخدام لغة R.
سير العمل الأساسي للبدء هو:
- استيراد التعليمات البرمجية: إما استيراد التعليمات البرمجية الخاصة بك من الملفات أو Git repos، أو تجربة برنامج تعليمي مدرج أدناه. توصي Databricks بالتعلم لاستخدام دفاتر ملاحظات Azure Databricks التفاعلية.
- تشغيل التعليمات البرمجية على نظام مجموعة: إما إنشاء مجموعة خاصة بك، أو التأكد من أن لديك أذونات لاستخدام نظام مجموعة مشترك. قم بإرفاق دفتر الملاحظات بالمجموعة، ثم قم بتشغيل دفتر الملاحظات.
بالإضافة إلى ذلك، يمكنك التفريع في مواضيع أكثر تحديدا:
- العمل مع مجموعات بيانات أكبر باستخدام Apache Spark
- إضافة مرئيات
- أتمتة حمل العمل كوظيفة
- استخدام التعلم الآلي لتحليل بياناتك
- استخدام أدوات مطور R
توفر البرامج التعليمية التالية أمثلة على التعليمات البرمجية ودفاتر الملاحظات للتعرف على مهام سير العمل الشائعة. راجع استيراد دفتر ملاحظات للحصول على إرشادات حول استيراد أمثلة دفتر الملاحظات إلى مساحة العمل.
- البرنامج التعليمي: تحليل البيانات باستخدام glm
- دفتر ملاحظات R للتشغيل السريع ل MLflow
- البرنامج التعليمي: Delta Lake
تسرد الأقسام الفرعية التالية الميزات والتلميحات الرئيسية لمساعدتك في البدء في التطوير في Azure Databricks باستخدام R.
يدعم Azure Databricks اثنين من واجهات برمجة التطبيقات التي توفر واجهة R ل Apache Spark: SparkR وsparklyr.
توفر هذه المقالات مقدمة ومرجعا ل SparkR. SparkR هي واجهة R ل Apache Spark التي توفر تنفيذ إطار بيانات موزع. يدعم SparkR عمليات مثل التحديد والتصفية والتجميع (على غرار إطارات بيانات R) ولكن على مجموعات البيانات الكبيرة.
توفر هذه المقالة مقدمة إلى sparklyr. sparklyr هي واجهة R ل Apache Spark التي توفر وظائف مشابهة ل dplyr و broom
وDBI.
تشرح هذه المقالة أوجه التشابه والاختلافات الرئيسية بين SparkR وsparklyr.
توضح هذه المقالة كيفية استخدام R وSparkR وsparklyr وdplyr للعمل مع جداول R data.frames وSpark DataFrames وSpark في Azure Databricks.
تدعم دفاتر ملاحظات Azure Databricks R. توفر دفاتر الملاحظات هذه وظائف مشابهة لوظائف Jupyter، ولكن مع إضافات مثل المرئيات المضمنة باستخدام البيانات الضخمة، وتكاملات Apache Spark لتصحيح الأخطاء ومراقبة الأداء، وتكاملات MLflow لتتبع تجارب التعلم الآلي. ابدأ باستيراد دفتر ملاحظات. بمجرد أن يكون لديك حق الوصول إلى نظام مجموعة، يمكنك إرفاق دفتر ملاحظات إلى نظام المجموعة وتشغيل دفتر الملاحظات.
تسمح مجلدات Azure Databricks Git للمستخدمين بمزامنة دفاتر الملاحظات والملفات الأخرى مع مستودعات Git. تساعد مجلدات Azure Databricks Git في تعيين إصدار التعليمات البرمجية والتعاون، ويمكنها تبسيط استيراد مستودع كامل من التعليمات البرمجية إلى Azure Databricks، وعرض إصدارات دفتر الملاحظات السابقة، والتكامل مع تطوير IDE. ابدأ بنسخ مستودع Git بعيد. يمكنك بعد ذلك فتح دفاتر الملاحظات أو إنشائها باستخدام نسخة المستودع، وإرفاق دفتر الملاحظات بمجموعة، وتشغيل دفتر الملاحظات.
توفر حوسبة Azure Databricks إدارة الحوسبة لكل من العقد الفردية والمجموعات الكبيرة. يمكنك تخصيص أجهزة المجموعة والمكتبات وفقا لاحتياجاتك. سيبدأ علماء البيانات بشكل عام العمل إما عن طريق إنشاء نظام مجموعة أو باستخدام نظام مجموعة مشترك موجود. بمجرد أن يكون لديك حق الوصول إلى نظام مجموعة، يمكنك إرفاق دفتر ملاحظات إلى نظام المجموعة أو تشغيل مهمة على نظام المجموعة.
- بالنسبة لأحمال العمل الصغيرة التي تتطلب عقدا واحدة فقط، يمكن لعلماء البيانات استخدام حساب عقدة واحدة لتوفير التكاليف.
- للحصول على تلميحات مفصلة، راجع توصيات تكوين الحساب.
- يمكن للمسؤولين إعداد نهج نظام المجموعة لتبسيط إنشاء نظام المجموعة وتوجيهه.
تتكون مجموعات 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 تحديد صورة 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.
لمزيد من التفاصيل، راجع المكتبات.
إنشاء الحزمة المخصصة من سطر الأوامر أو باستخدام RStudio.
انسخ ملف الحزمة المخصصة من جهاز التطوير الخاص بك إلى مساحة عمل Azure Databricks. للحصول على خيارات، راجع المكتبات.
قم بتثبيت الحزمة المخصصة في مكتبة عن طريق تشغيل
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 وتحريرها.
- تتيح لك واجهة برمجة تطبيقات الوظائف إنشاء الوظائف وتحريرها وحذفها.
- يوفر Databricks CLI واجهة سطر أوامر ملائمة لاستدعاء واجهة برمجة تطبيقات الوظائف.
يدعم Databricks مجموعة واسعة من أحمال عمل التعلم الآلي (ML)، بما في ذلك التعلم الآلي التقليدي على البيانات الجدولية، والتعلم العميق لرؤية الكمبيوتر ومعالجة اللغة الطبيعية، وأنظمة التوصية، وتحليلات الرسم البياني، والمزيد. للحصول على معلومات عامة حول التعلم الآلي على Azure Databricks، راجع وقت تشغيل Databricks التعلم الآلي.
بالنسبة لخوارزميات التعلم الآلي، يمكنك استخدام المكتبات المثبتة مسبقا في Databricks Runtime التعلم الآلي. يمكنك أيضا تثبيت مكتبات مخصصة.
بالنسبة لعمليات التعلم الآلي (MLOps)، يوفر Azure Databricks خدمة مدارة مصدر مفتوح مكتبة MLflow. باستخدام MLflow Tracking ، يمكنك تسجيل تطوير النموذج وحفظ النماذج بتنسيقات قابلة لإعادة الاستخدام. يمكنك استخدام سجل نموذج MLflow لإدارة وأتمتة ترقية النماذج نحو الإنتاج. تسمح الوظائف وخدمة النموذج باستضافة النماذج كوظائف دفعية ومتدفقة كنقاط نهاية REST. لمزيد من المعلومات والأمثلة، راجع إدارة دورة حياة التعلم الآلي باستخدام MLflow أو مستندات MLflow R API.
بالإضافة إلى دفاتر ملاحظات Azure Databricks، يمكنك أيضا استخدام أدوات مطور R التالية:
استخدم SparkR وRStudio Desktop مع Databricks Connect.
استخدم sparklyr وRStudio Desktop مع Databricks Connect.
في 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
البيئة .