Azure Databricks لمطوري Python
يوفر هذا القسم دليلا لتطوير دفاتر الملاحظات والمهام في Azure Databricks باستخدام لغة Python، بما في ذلك البرامج التعليمية لسير العمل والمهام الشائعة، وارتباطات إلى واجهات برمجة التطبيقات والمكتبات والأدوات.
الشروع في العمل:
- استيراد التعليمات البرمجية: إما استيراد التعليمات البرمجية الخاصة بك من الملفات أو Git repos أو تجربة برنامج تعليمي مدرج أدناه. توصي Databricks بالتعلم باستخدام دفاتر ملاحظات Databricks التفاعلية.
- تشغيل التعليمات البرمجية على نظام مجموعة: إما إنشاء مجموعة خاصة بك، أو التأكد من أن لديك أذونات لاستخدام نظام مجموعة مشترك. قم بإرفاق دفتر الملاحظات بالمجموعة، ثم قم بتشغيل دفتر الملاحظات.
- ثم يمكنك:
- العمل مع مجموعات بيانات أكبر باستخدام Apache Spark
- إضافة مرئيات
- أتمتة حمل العمل كوظيفة
- استخدام التعلم الآلي لتحليل بياناتك
- التطوير في IDEs
البرامج التعليمية
توفر البرامج التعليمية أدناه أمثلة على التعليمات البرمجية ودفاتر الملاحظات للتعرف على مهام سير العمل الشائعة. راجع استيراد دفتر ملاحظات للحصول على إرشادات حول استيراد أمثلة دفتر الملاحظات إلى مساحة العمل.
هندسة البيانات
- البرنامج التعليمي: يوفر تحميل البيانات وتحويلها باستخدام Apache Spark DataFrames معاينة لمساعدتك على التعرف على Apache Spark DataFrames لإعداد البيانات وتحليلاتها.
- البرنامج التعليمي: Delta Lake.
- البرنامج التعليمي: تشغيل خط أنابيب Delta Live Tables الأول.
علوم البيانات والتعلّم الآلي
- البدء باستخدام Apache Spark DataFrames لإعداد البيانات وتحليلاتها: البرنامج التعليمي: تحميل البيانات وتحويلها باستخدام Apache Spark DataFrames
- البرنامج التعليمي: نماذج التعلم الآلي من طرف إلى طرف على Azure Databricks. للحصول على أمثلة إضافية، راجع البرامج التعليمية: البدء في الذكاء الاصطناعي والتعلم الآلي ودليل MLflow Quickstart Python.
- يتيح لك AutoML البدء بسرعة في تطوير نماذج التعلم الآلي على مجموعات البيانات الخاصة بك. يقوم نهج الصندوق الزجاجي الخاص به بإنشاء دفاتر ملاحظات مع سير عمل التعلم الآلي الكامل، والذي يمكنك استنساخه وتعديله وإعادة تشغيله.
- إدارة دورة حياة النموذج في كتالوج Unity
- البرنامج التعليمي: نماذج التعلم الآلي من طرف إلى طرف على Azure Databricks
تصحيح الأخطاء في دفاتر ملاحظات Python
يوضح دفتر الملاحظات المثال كيفية استخدام مصحح أخطاء Python (pdb) في دفاتر ملاحظات Databricks. لاستخدام مصحح أخطاء Python، يجب تشغيل Databricks Runtime 11.3 LTS أو أعلى.
باستخدام Databricks Runtime 12.2 LTS وما فوق، يمكنك استخدام مستكشف المتغيرات لتعقب القيمة الحالية لمتغيرات Python في واجهة مستخدم دفتر الملاحظات. يمكنك استخدام مستكشف المتغيرات لمراقبة قيم متغيرات Python أثناء التنقل عبر نقاط التوقف.
دفتر ملاحظات مثال على مصحح أخطاء Python
إشعار
breakpoint()
غير مدعوم في IPython وبالتالي لا يعمل في دفاتر ملاحظات Databricks. يمكنك استخدام import pdb; pdb.set_trace()
بدلا من breakpoint()
.
واجهات برمجة تطبيقات Python
يمكن تشغيل تعليمة Python البرمجية التي تعمل خارج Databricks بشكل عام داخل Databricks، والعكس صحيح. إذا كان لديك تعليمة برمجية موجودة، فما عليك سوى استيرادها إلى Databricks للبدء. راجع إدارة التعليمات البرمجية باستخدام دفاتر الملاحظات ومجلدات Databricks Git أدناه للحصول على التفاصيل.
يمكن ل Databricks تشغيل كل من أحمال عمل Python أحادية الجهاز والموزعة. بالنسبة للحوسبة أحادية الجهاز، يمكنك استخدام واجهات برمجة تطبيقات Python والمكتبات كالمعتاد؛ على سبيل المثال، بانداز وscikit-learn "ستعمل فقط". بالنسبة لأحمال عمل Python الموزعة، يقدم Databricks اثنين من واجهات برمجة التطبيقات الشائعة خارج الصندوق: PySpark وPandas API على Spark.
واجهة برمجة تطبيقات PySpark
PySpark هي واجهة برمجة تطبيقات Python الرسمية ل Apache Spark وتجمع بين قوة Python وApache Spark. PySpark هو أكثر مرونة من واجهة برمجة تطبيقات Pandas على Spark ويوفر دعما وميزات واسعة لعلوم البيانات ووظائف الهندسة مثل Spark SQL وBbb وMLLib وGraphX.
واجهة برمجة تطبيقات Pandas على Spark
إشعار
يوصي مشروع Koalas مفتوح المصدر الآن بالتبديل إلى واجهة برمجة تطبيقات Pandas على Spark. تتوفر واجهة برمجة تطبيقات Pandas على Spark على المجموعات التي تقوم بتشغيل Databricks Runtime 10.0 (EoS) وما فوق. بالنسبة للمجموعات التي تقوم بتشغيل Databricks Runtime 9.1 LTS والإصدارات أدناه، استخدم Koalas بدلا من ذلك.
Pandas هي حزمة Python شائعة الاستخدام من قبل علماء البيانات لتحليل البيانات ومعالجتها. ومع ذلك، لا يتم توسيع نطاق الباندا إلى البيانات الضخمة. تملأ واجهة برمجة تطبيقات Pandas على Spark هذه الفجوة من خلال توفير واجهات برمجة التطبيقات المكافئة ل Pandas التي تعمل على Apache Spark. تعد واجهة برمجة التطبيقات مفتوحة المصدر هذه خيارا مثاليا لعلماء البيانات الذين هم على دراية ب Pandas ولكن ليس Apache Spark.
إدارة التعليمات البرمجية باستخدام دفاتر الملاحظات ومجلدات Databricks Git
تدعم دفاتر ملاحظات Databricks Python. توفر دفاتر الملاحظات هذه وظائف مشابهة لوظائف Jupyter، ولكن مع إضافات مثل المرئيات المضمنة باستخدام البيانات الضخمة، وتكاملات Apache Spark لتصحيح الأخطاء ومراقبة الأداء، وتكاملات MLflow لتتبع تجارب التعلم الآلي. ابدأ باستيراد دفتر ملاحظات. بمجرد أن يكون لديك حق الوصول إلى نظام مجموعة، يمكنك إرفاق دفتر ملاحظات إلى نظام المجموعة وتشغيل دفتر الملاحظات.
تلميح
لإعادة تعيين حالة دفتر الملاحظات بالكامل، قد يكون من المفيد إعادة تشغيل نواة iPython. بالنسبة لمستخدمي Jupyter، يتوافق خيار "إعادة تشغيل النواة" في Jupyter مع فصل دفتر ملاحظات وإعادة إرفاقه في Databricks. لإعادة تشغيل النواة في دفتر ملاحظات Python، انقر فوق محدد الحوسبة في شريط أدوات دفتر الملاحظات وقم بالمرور فوق نظام المجموعة المرفق أو مستودع SQL في القائمة لعرض قائمة جانبية. حدد فصل وإعادة إرفاق. يؤدي ذلك إلى فصل دفتر الملاحظات عن نظام المجموعة وإعادة إرفاقه، مما يؤدي إلى إعادة تشغيل عملية Python.
تسمح مجلدات Databricks Git للمستخدمين بمزامنة دفاتر الملاحظات والملفات الأخرى مع مستودعات Git. تساعد مجلدات Databricks Git في تعيين إصدار التعليمات البرمجية والتعاون، ويمكنها تبسيط استيراد مستودع كامل من التعليمات البرمجية إلى Azure Databricks، وعرض إصدارات دفتر الملاحظات السابقة، والتكامل مع تطوير IDE. ابدأ بنسخ مستودع Git بعيد. يمكنك بعد ذلك فتح دفاتر الملاحظات أو إنشائها باستخدام نسخة المستودع، وإرفاق دفتر الملاحظات بمجموعة، وتشغيل دفتر الملاحظات.
المجموعات والمكتبات
يوفر حساب Azure Databricks إدارة الحوسبة للمجموعات من أي حجم: من مجموعات عقدة واحدة تصل إلى مجموعات كبيرة. يمكنك تخصيص أجهزة المجموعة والمكتبات وفقا لاحتياجاتك. سيبدأ علماء البيانات بشكل عام العمل إما عن طريق إنشاء نظام مجموعة أو باستخدام نظام مجموعة مشترك موجود. بمجرد أن يكون لديك حق الوصول إلى نظام مجموعة، يمكنك إرفاق دفتر ملاحظات إلى نظام المجموعة أو تشغيل مهمة على نظام المجموعة.
- بالنسبة لأحمال العمل الصغيرة التي تتطلب عقدا واحدة فقط، يمكن لعلماء البيانات استخدام حساب عقدة واحدة لتوفير التكاليف.
- للحصول على تلميحات مفصلة، راجع حساب توصيات التكوين
- يمكن للمسؤولين إعداد نهج نظام المجموعة لتبسيط إنشاء نظام المجموعة وتوجيهه.
تستخدم مجموعات Azure Databricks وقت تشغيل Databricks، والذي يوفر العديد من المكتبات الشائعة الجاهزة، بما في ذلك Apache Spark وData Lake وpandas والمزيد. يمكنك أيضا تثبيت مكتبات Python إضافية تابعة لجهة خارجية أو مخصصة لاستخدامها مع دفاتر الملاحظات والمهام.
- ابدأ بالمكتبات الافتراضية في إصدارات ملاحظات إصدار Databricks Runtime والتوافق. استخدم وقت تشغيل Databricks التعلم الآلي لأحمال عمل التعلم الآلي. للحصول على القوائم الكاملة للمكتبات المثبتة مسبقا، راجع إصدارات ملاحظات إصدار Databricks Runtime والتوافق.
- قم بتخصيص بيئتك باستخدام مكتبات Python ذات نطاق دفتر الملاحظات، والتي تسمح لك بتعديل دفتر الملاحظات أو بيئة الوظيفة باستخدام مكتبات من PyPI أو مستودعات أخرى.
%pip install my_library
يتم تثبيتmy_library
الأمر السحري على جميع العقد في المجموعة المرفقة حاليا، ومع ذلك لا يتداخل مع أحمال العمل الأخرى على المجموعات المشتركة. - تثبيت مكتبات غير Python كمكتبات نظام المجموعة حسب الحاجة.
- لمزيد من التفاصيل، راجع المكتبات.
الرسوم المرئية
تحتوي دفاتر ملاحظات Azure Databricks Python على دعم مضمن للعديد من أنواع المرئيات. يمكنك أيضا استخدام المرئيات القديمة.
يمكنك أيضا تصور البيانات باستخدام مكتبات الجهات الخارجية؛ بعضها مثبت مسبقا في Databricks Runtime، ولكن يمكنك تثبيت مكتبات مخصصة أيضا. تتضمن الخيارات الشائعة ما يلي:
المهام
يمكنك أتمتة أحمال عمل Python كمهام مجدولة أو مشغلة في Databricks. يمكن للوظائف تشغيل دفاتر الملاحظات والبرامج النصية ل Python وملفات عجلة Python.
- إنشاء وتحديث المهام باستخدام واجهة مستخدم Databricks أو واجهة برمجة تطبيقات REST Databricks.
- يسمح لك Databricks Python SDK بإنشاء المهام وتحريرها وحذفها برمجيا.
- يوفر Databricks CLI واجهة سطر أوامر ملائمة لأتمتة المهام.
تلميح
لجدولة برنامج نصي Python بدلا من دفتر ملاحظات، استخدم spark_python_task
الحقل ضمن tasks
في النص الأساسي لطلب مهمة إنشاء.
التعلّم الآلي
يدعم Databricks مجموعة واسعة من أحمال عمل التعلم الآلي (ML)، بما في ذلك التعلم الآلي التقليدي على البيانات الجدولية، والتعلم العميق لرؤية الكمبيوتر ومعالجة اللغة الطبيعية، وأنظمة التوصية، وتحليلات الرسم البياني، والمزيد. للحصول على معلومات عامة حول التعلم الآلي على Databricks، راجع الذكاء الاصطناعي والتعلم الآلي على Databricks.
بالنسبة لخوارزميات التعلم الآلي، يمكنك استخدام المكتبات المثبتة مسبقا في Databricks Runtime التعلم الآلي، والتي تتضمن أدوات Python الشائعة مثل scikit-learn وTensorFlow وKeras وPyTorch وApache Spark MLlib وXGBoost. يمكنك أيضا تثبيت مكتبات مخصصة.
بالنسبة لعمليات التعلم الآلي (MLOps)، يوفر Azure Databricks خدمة مدارة مصدر مفتوح مكتبة MLflow. باستخدام MLflow Tracking ، يمكنك تسجيل تطوير النموذج وحفظ النماذج بتنسيقات قابلة لإعادة الاستخدام. يمكنك استخدام سجل نموذج MLflow لإدارة وأتمتة ترقية النماذج نحو الإنتاج. تسمح الوظائف وخدمة النموذج باستضافة النماذج كوظائف دفعية ومتدفقة وكنقاط نهاية REST. لمزيد من المعلومات والأمثلة، راجع إدارة دورة حياة التعلم الآلي باستخدام MLflow أو مستندات MLflow Python API.
للبدء في أحمال عمل التعلم الآلي الشائعة، راجع الصفحات التالية:
- تدريب scikit-learn والتتبع باستخدام MLflow: برنامج تعليمي مدته 10 دقائق: التعلم الآلي على Databricks باستخدام scikit-learn
- تدريب نماذج التعلم العميق: التعلم العميق
- ضبط المعلمات الفائقة: موازاة ضبط Hyperopt hyperparameter
- تحليلات الرسم البياني: كيفية استخدام GraphFrames على Azure Databricks
IDEs وأدوات المطور وSDKs
بالإضافة إلى تطوير تعليمة Python البرمجية داخل دفاتر ملاحظات Azure Databricks، يمكنك التطوير خارجيا باستخدام بيئات التطوير المتكاملة (IDEs) مثل PyCharm وJupyter وVisual Studio Code. لمزامنة العمل بين بيئات التطوير الخارجية وDatabricks، هناك العديد من الخيارات:
- التعليمات البرمجية: يمكنك مزامنة التعليمات البرمجية باستخدام Git. راجع تكامل Git لمجلدات Databricks Git.
- المكتبات والوظائف: يمكنك إنشاء مكتبات (مثل ملفات عجلة Python) خارجيا وتحميلها إلى Databricks. قد يتم استيراد هذه المكتبات داخل دفاتر ملاحظات Databricks، أو يمكن استخدامها لإنشاء وظائف. راجع المكتبات وجدولة مهام سير العمل وتنسيقها.
- تنفيذ الجهاز عن بعد: يمكنك تشغيل التعليمات البرمجية من بيئة التطوير المتكامل المحلية للتطوير والاختبار التفاعليين. يمكن ل IDE الاتصال ب Azure Databricks لتنفيذ Apache Spark والحسابات الكبيرة على مجموعات Azure Databricks. راجع Databricks Connect.
يوفر Databricks مجموعة من SDKs، بما في ذلك Python SDK، التي تدعم الأتمتة والتكامل مع الأدوات الخارجية. يمكنك استخدام Databricks SDKs لإدارة الموارد مثل المجموعات والمكتبات، التعليمات البرمجية وعناصر مساحة العمل الأخرى، وأحمال العمل والمهام، والمزيد. راجع Databricks SDKs.
لمزيد من المعلومات حول IDEs وأدوات المطور وSDKs، راجع أدوات المطور.
الموارد الإضافية
تقدم أكاديمية Databricks دورات تدريبية ذاتية الوتيرة بقيادة مدرب حول العديد من الموضوعات.
توفر Databricks Labs أدوات لتطوير Python في Databricks مثل المكون الإضافي pytest والمكون الإضافي pylint.
تتضمن الميزات التي تدعم إمكانية التشغيل التفاعلي بين PySpark وpandas ما يلي:
تتضمن أدوات اتصال قاعدة بيانات Python وSQL ما يلي:
- يسمح لك Databricks SQL Connector ل Python باستخدام تعليمة Python البرمجية لتشغيل أوامر SQL على موارد Azure Databricks.
- يسمح لك pyodbc بالاتصال من تعليمة Python البرمجية المحلية الخاصة بك من خلال ODBC بالبيانات المخزنة في مستودع Databricks.
يمكن العثور على الأسئلة المتداولة والنصائح لنقل أحمال عمل Python إلى Databricks في قاعدة معارف Databricks