مشاركة عبر


إنشاء دفاتر ملاحظات Synapse وتطويرها وصيانتها

دفتر الملاحظات في Azure Synapse Analytics (دفتر ملاحظات Synapse) هو واجهة ويب لإنشاء ملفات تحتوي على تعليمات برمجية مباشرة وتصورات ونص سردي. تعتبر أجهزة الكمبيوتر المحمولة مكانًا جيدًا للتحقق من صحة الأفكار واستخدام التجارب السريعة للحصول على نتائج التحليلات من بياناتك. كما تستخدم دفاتر الملاحظات على نطاق واسع في إعداد البيانات وتصور البيانات والتعلم الآلي وسيناريوهات البيانات الضخمة الأخرى.

باستخدام مفكرة Synapse، يمكنك القيام بما يلي:

  • ابدأ بدون جهد إعداد.
  • المساعدة في الحفاظ على أمان البيانات باستخدام ميزات أمان المؤسسة المضمنة.
  • تحليل البيانات عبر التنسيقات الأولية (مثل CSV وTXT وJSON)، وتنسيقات الملفات المعالجة (مثل Parquet وData Lake وORC)، وملفات البيانات الجدولية SQL مقابل Spark وSQL.
  • كن منتجًا مع قدرات التأليف المحسنة ومرئيات البيانات المضمنة.

توضح هذه المقالة طريقة استخدام دفاتر الملاحظات في Synapse Studio.

إنشاء دفتر ملاحظات

يمكنك إنشاء دفتر ملاحظات جديد أو استيراد دفتر ملاحظات موجود إلى مساحة عمل Synapse من Object Explorer. حدد قائمة Develop. + حدد الزر وحدد دفتر الملاحظات أو انقر بزر الماوس الأيمن فوق دفاتر الملاحظات، ثم حدد دفتر ملاحظات جديد أو استيراد. تتعرف دفاتر Synapse على ملفات Jupyter Notebook IPYNB القياسية.

لقطة شاشة للتحديدات لإنشاء دفتر ملاحظات أو استيراده.

تحديث دفاتر الملاحظات

تتكون دفاتر الملاحظات من خلايا، وهي كتل فردية من التعليمات البرمجية أو النص الذي يمكنك تشغيله بشكل مستقل أو كمجموعة.

تصف الأقسام التالية عمليات تطوير دفاتر الملاحظات:

إشعار

في دفاتر الملاحظات، يتم إنشاء مثيل SparkSession تلقائيا لك وتخزينه في متغير يسمى spark. هناك أيضا متغير يسمى SparkContextsc. يمكن للمستخدمين الوصول إلى هذه المتغيرات مباشرة ولكن يجب ألا يغيروا قيم هذه المتغيرات.

إضافة خلية

هناك طرق متعددة لإضافة خلية جديدة إلى دفتر الملاحظات:

  • مرر فوق المسافة بين خليتين وحددتعليمة برمجيةأوMarkdown.

    لقطة شاشة لأزرار Code و Markdown في دفتر ملاحظات Synapse.

  • استخدم مفاتيح الاختصار في وضع الأوامر. حدد المفتاح A لإدراج خلية أعلى الخلية الحالية. حدد المفتاح B لإدراج خلية أسفل الخلية الحالية.

تعيين لغة أساسية

تدعم أجهزة الكمبيوتر المحمولة Synapse أربع لغات من لغات Apache Spark:

  • PySpark (Python)
  • Spark (Scala)
  • Spark SQL
  • ‎.NET Spark (C#)
  • SparkR (R)

يمكنك تعيين اللغة الأساسية للخلايا المضافة حديثا من القائمة المنسدلة اللغة في شريط الأوامر العلوي.

لقطة شاشة للقائمة المنسدلة لتحديد لغة في دفتر ملاحظات Synapse.

استخدام لغات متعددة

يمكنك استخدام لغات متعددة في دفتر ملاحظات واحد عن طريق تحديد أمر سحري للغة الصحيح في بداية الخلية. يسرد الجدول الآتي الأوامر السحرية لتبديل لغات الخلية.

الأمر السحري اللغة‬ ‏‏الوصف
%%pyspark Python تشغيل استعلام Python مقابل SparkContext.
%%spark Scala قم بتشغيل استعلام Scala مقابل SparkContext.
%%sql Spark SQL قم بتشغيل استعلام Spark SQL مقابل SparkContext.
%%csharp ‎.NET لـ Spark C#‎ قم بتشغيل استعلام .NET ل Spark C# مقابل SparkContext.
%%sparkr R تشغيل استعلام R مقابل SparkContext.

تعرض الصورة التالية مثالا على كيفية كتابة استعلام PySpark باستخدام %%pyspark الأمر السحري أو استعلام Spark SQL باستخدام %%sql الأمر السحري في دفتر ملاحظات Spark (Scala). يتم تعيين اللغة الأساسية لدفتر الملاحظات إلى PySpark.

لقطة شاشة لأوامر Spark السحرية في دفتر ملاحظات Synapse.

استخدام الجداول المؤقتة للإشارة إلى البيانات عبر اللغات

لا يمكنك الرجوع إلى البيانات أو المتغيرات مباشرة عبر لغات مختلفة في دفتر ملاحظات Synapse. في Spark، يمكنك الرجوع إلى جدول مؤقت عبر اللغات. فيما يلي مثال على كيفية قراءة Scala DataFrame في PySpark وSpark SQL باستخدام جدول Spark المؤقت كحل بديل:

  1. في الخلية 1، اقرأ DataFrame من موصل تجمع SQL باستخدام Scala وأنشئ جدولا مؤقتا:

    %%spark
    val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable")
    scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
    
  2. في الخلية 2، استعلم عن البيانات باستخدام Spark SQL:

    %%sql
    SELECT * FROM mydataframetable
    
  3. في الخلية 3، استخدم البيانات في PySpark:

    %%pyspark
    myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
    

استخدام IntelliSense على نمط IDE

تم دمج دفاتر الملاحظات Synapse باستخدام محرر Monaco لإحضار IntelliSense لنمط بيئة التطوير المتكامل إلى محرر الخلايا. تساعدك ميزات تمييز بناء الجملة وعلامة الخطأ وإكمال التعليمات البرمجية التلقائي على كتابة التعليمات البرمجية وتحديد المشكلات بشكل أسرع.

تكون ميزات IntelliSense في مستويات نضوج مختلفة للغات المختلفة. استخدم الجدول الآتي لمعرفة ما المدعوم.

اللغات تمييز بناء الجملة علامة خطأ بناء الجملة إكمال التعليمة البرمجية لبناء الجملة إكمال التعليمات البرمجية المتغيرة إكمال التعليمات البرمجية لوظيفة النظام إكمال التعليمات البرمجية لوظيفة المستخدم مسافة بادئة ذكية طي التعليمات البرمجية
PySpark (Python) ‏‏نعم‬ نعم نعم نعم نعم نعم نعم ‏‏نعم‬
Spark (Scala) ‏‏نعم‬ نعم نعم نعم نعم نعم لا ‏‏نعم‬
Spark SQL ‏‏نعم‬ نعم نعم نعم نعم لا لا لا
‎.NET لـ Spark (C#) ‏‏نعم‬ نعم نعم نعم نعم نعم نعم ‏‏نعم‬

مطلوب جلسة Spark نشطة للاستفادة من إكمال التعليمات البرمجية المتغيرة، وإكمال التعليمات البرمجية لوظيفة النظام، وإكمال التعليمات البرمجية لوظيفة المستخدم ل .NET ل Spark (C#).

استخدام مقتطفات التعليمات البرمجية

توفر دفاتر ملاحظات Synapse قصاصات برمجية تسهل إدخال أنماط التعليمات البرمجية شائعة الاستخدام. تتضمن هذه الأنماط تكوين جلسة Spark وقراءة البيانات ك Spark DataFrame ورسم المخططات باستخدام Matplotlib.

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

صورة GIF متحركة لمقتطفات التعليمات البرمجية في دفتر ملاحظات Synapse.

تنسيق الخلايا النصية باستخدام أزرار شريط الأدوات

يمكنك استخدام أزرار التنسيق على شريط أدوات الخلية النصية لتنفيذ إجراءات Markdown الشائعة. تتضمن هذه الإجراءات جعل النص غامقا، وجعل النص مائلا، وإنشاء فقرات وعناوين من خلال قائمة منسدلة، وإدراج التعليمات البرمجية، وإدراج قائمة غير مرتبة، وإدراج قائمة مرتبة، وإدراج ارتباط تشعبي، وإدراج صورة من عنوان URL.

لقطة شاشة لشريط أدوات الخلية النصية في دفتر ملاحظات Synapse.

التراجع عن عملية خلية أو إعادة تشغيلها

لإبطال أحدث عمليات الخلايا، حدد الزر تراجع أو إعادة ، أو حدد المفتاح Z أو Shift+Z. يمكنك الآن التراجع عن ما يصل إلى 10 عمليات خلية تاريخية أو إعادة تنفيذها.

لقطة شاشة لزري التراجع والإعادة في دفتر ملاحظات Synapse.

تتضمن عمليات الخلايا المدعومة ما يلي:

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

إشعار

لا يمكنك التراجع عن عمليات النص أو عمليات التعليق في خلية.

التعليق على خلية تعليمات برمجية

  1. حدد الزر تعليقات على شريط أدوات دفتر الملاحظات لفتح جزء التعليقات.

    لقطة شاشة لزر التعليقات وجزء التعليقات في دفتر ملاحظات Synapse.

  2. حدد التعليمات البرمجية في خلية التعليمات البرمجية، وحدد جديد في جزء التعليقات، وأضف تعليقات، ثم حدد الزر نشر تعليق.

    لقطة شاشة لمربع إدخال تعليق في دفتر ملاحظات Synapse.

  3. إذا لزم الأمر، يمكنك تنفيذ تحرير التعليق وحل مؤشر الترابط وحذف إجراءات مؤشر الترابط عن طريق تحديد المزيد من علامات الحذف (...) بجانب تعليقك.

    لقطة شاشة لأوامر إضافية لخلية تعليمات برمجية في دفتر ملاحظات Synapse.

نقل خلية

لنقل خلية، حدد الجانب الأيسر من الخلية واسحب الخلية إلى الموضع المطلوب.

صورة GIF متحركة لخلايا متحركة في دفتر ملاحظات Synapse.

نسخ خلية

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

تلميح

توفر دفاتر ملاحظات Synapse أيضا أجزاء من أنماط التعليمات البرمجية شائعة الاستخدام.

حذف خلية

لحذف خلية، حدد الزر حذف إلى يمين الخلية.

يمكنك أيضا استخدام مفاتيح الاختصار في وضع الأوامر. حدد Shift+D لحذف الخلية الحالية.

لقطة شاشة لزر حذف خلية في دفتر ملاحظات Synapse.

طي إدخال الخلية

لطي إدخال الخلية الحالية، حدد علامة الحذف المزيد من الأوامر (...) على شريط أدوات الخلية، ثم حدد إخفاء الإدخال. لتوسيع الإدخال، حدد إظهار الإدخال أثناء طي الخلية.

صورة GIF متحركة لطي إدخال الخلية وتوسيعه في دفتر ملاحظات Synapse.

طي إخراج الخلية

لطي إخراج الخلية الحالية، حدد علامة الحذف المزيد من الأوامر (...) على شريط أدوات الخلية، ثم حدد إخفاء الإخراج. لتوسيع الإخراج، حدد إظهار الإخراج أثناء إخفاء إخراج الخلية.

صورة GIF متحركة لطي مخرجات الخلايا وتوسيعها في دفتر ملاحظات Synapse.

استخدام مخطط تفصيلي لدفتر الملاحظات

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

لقطة شاشة للشريط الجانبي للمخطط التفصيلي في دفتر ملاحظات Synapse.

تشغيل دفتر ملاحظات

يمكنك تشغيل خلايا التعليمة البرمجية في دفتر ملاحظاتك بشكل فردي أو كلها مرة واحدة. تظهر حالة كل خلية وتقدمها في دفتر الملاحظات.

إشعار

لا يؤدي حذف دفتر ملاحظات إلى إلغاء أي مهام قيد التشغيل حاليا تلقائيا. إذا كنت بحاجة إلى إلغاء مهمة، فانتقل إلى مركز المراقبة وقم بإلغاءها يدويا.

تشغيل خلية

هناك طرق متعددة لتشغيل التعليمات البرمجية في خلية:

  • مرر مؤشر الماوس فوق الخلية التي تريد تشغيلها، ثم حدد الزر تشغيل الخلية أو حدد Ctrl+Enter.

    لقطة شاشة لأمر تشغيل خلية في دفتر ملاحظات Synapse.

  • استخدم مفاتيح الاختصار في وضع الأوامر. حدد Shift+Enter لتشغيل الخلية الحالية وحدد الخلية الموجودة أسفلها. حدد Alt+Enter لتشغيل الخلية الحالية وإدراج خلية جديدة أسفلها.

تشغيل كل الخلايا

لتشغيل كافة الخلايا في دفتر الملاحظات الحالي بالتسلسل، حدد الزر تشغيل الكل .

لقطة شاشة للزر لتشغيل كافة الخلايا في دفتر ملاحظات Synapse.

قم بتشغيل كل الخلايا أعلى أو أسفل

لتشغيل كافة الخلايا الموجودة أعلى الخلية الحالية بالتسلسل، قم بتوسيع القائمة المنسدلة للزر تشغيل الكل ، ثم حدد تشغيل الخلايا أعلاه. حدد تشغيل الخلايا أدناه لتشغيل كافة الخلايا الموجودة أسفل الخلية الحالية بالتسلسل.

لقطة شاشة لأوامر تشغيل الخلايا أعلى الخلية الحالية وأسفلاها في دفتر ملاحظات Synapse.

إلغاء جميع الخلايا قيد التشغيل

لإلغاء الخلايا قيد التشغيل أو الخلايا التي تنتظر في قائمة الانتظار، حدد الزر إلغاء الكل .

لقطة شاشة للزر لإلغاء كافة الخلايا قيد التشغيل أو الانتظار في دفتر ملاحظات Synapse.

الرجوع إلى دفتر ملاحظات

للإشارة إلى دفتر ملاحظات آخر ضمن سياق دفتر الملاحظات الحالي، استخدم %run <notebook path> الأمر السحري. تتوفر جميع المتغيرات المحددة في دفتر الملاحظات المرجعي في دفتر الملاحظات الحالي.

إليك مثال:

%run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

يعمل مرجع دفتر الملاحظات في كل من الوضع التفاعلي والتدفقات.

%run يحتوي الأمر السحري على هذه القيود:

  • يدعم الأمر المكالمات المتداخلة ولكن ليس المكالمات المتكررة.
  • يدعم الأمر تمرير مسار مطلق أو اسم دفتر ملاحظات كمعلمة فقط. لا يدعم المسارات النسبية.
  • يدعم الأمر حاليا أربعة أنواع قيم معلمات فقط: intو floatboolو و.string لا يدعم عمليات استبدال المتغيرات.
  • يجب نشر دفاتر الملاحظات المشار إليها. تحتاج إلى نشر دفاتر الملاحظات للإشارة إليها، ما لم تحدد الخيار لتمكين مرجع دفتر ملاحظات غير منشور. لا يتعرف Synapse Studio على دفاتر الملاحظات غير المنشورة من مستودع Git.
  • لا تدعم دفاتر الملاحظات المشار إليها أعماق العبارة الأكبر من خمسة.

استخدام مستكشف المتغيرات

يوفر دفتر ملاحظات Synapse مستكشف متغير مضمن في شكل جدول يسرد المتغيرات في جلسة Spark الحالية لخلايا PySpark (Python). يتضمن الجدول أعمدة لاسم المتغير ونوعه وطوله وقيمته. تظهر المزيد من المتغيرات تلقائيا عند تعريفها في خلايا التعليمات البرمجية. يؤدي تحديد كل رأس عمود إلى فرز المتغيرات في الجدول.

لفتح مستكشف المتغيرات أو إخفاؤه، حدد الزر المتغيرات على شريط أوامر دفتر الملاحظات.

لقطة شاشة لمستكشف المتغيرات في دفتر ملاحظات Synapse.

إشعار

يدعم مستكشف المتغيرات Python فقط.

استخدام مؤشر حالة الخلية

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

لقطة شاشة لملخص تشغيل خلية في دفتر ملاحظات Synapse.

استخدام مؤشر تقدم Spark

يستند دفتر ملاحظات Synapse إلى Spark فقط. تعمل خلايا التعليمات البرمجية على تجمع Apache Spark بلا خادم عن بعد. يساعدك مؤشر تقدم مهمة Spark مع شريط تقدم في الوقت الحقيقي على فهم حالة تشغيل الوظيفة.

يساعدك عدد المهام لكل وظيفة أو مرحلة على تحديد المستوى المتوازي لمهمة Spark. يمكنك أيضًا التعمق في واجهة مستخدم Spark لمهمة معينة (أو مرحلة) عن طريق تحديد الارتباط على اسم المهمة (أو المرحلة).

لقطة شاشة لمؤشر تقدم Spark في دفتر ملاحظات Synapse.

تكوين جلسة Spark

في جزء تكوين جلسة العمل، والذي يمكنك العثور عليه عن طريق تحديد أيقونة الترس في أعلى دفتر الملاحظات، يمكنك تحديد مدة المهلة وعدد المنفذين وحجم المنفذين الذين سيتم منحهم لجلسة Spark الحالية. أعد تشغيل جلسة Spark لكي تسري تغييرات التكوين. يتم مسح كل متغيرات دفتر الملاحظات المخزنة مؤقتًا.

يمكنك أيضًا إنشاء تكوين من التكوين Apache Spark أو تحديد تكوين موجود. للحصول على التفاصيل، راجع إدارة تكوين Apache Spark.

لقطة شاشة لجزء تكوين جلسة عمل في دفتر ملاحظات Synapse.

الأمر السحري لتكوين جلسة Spark

يمكنك أيضا تحديد إعدادات جلسة Spark عبر الأمر %%configureالسحري . لجعل الإعدادات سارية المفعول، أعد تشغيل جلسة Spark.

نوصي بتشغيل %%configure في بداية دفتر الملاحظات. إليك عينة. للحصول على القائمة الكاملة للمعلمات الصالحة، راجع معلومات Livy على GitHub.

%%configure
{
    //You can get a list of valid parameters to configure the session from https://github.com/cloudera/livy#request-body.
    "driverMemory":"28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g", "472g"]
    "driverCores":4, // Recommended values: [4, 8, 16, 32, 64, 80]
    "executorMemory":"28g",
    "executorCores":4, 
    "jars":["abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar","wasb[s]://<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
    "conf":{
    //Example of a standard Spark property. To find more available properties, go to https://spark.apache.org/docs/latest/configuration.html#application-properties.
        "spark.driver.maxResultSize":"10g",
    //Example of a customized property. You can specify the count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
        "livy.rsc.sql.num-rows":"3000" 
    }
}

فيما يلي بعض الاعتبارات للأمر %%configure السحري:

  • نوصي باستخدام نفس القيمة ل driverMemory و executorMemory في %%configure. نوصي أيضا بأن driverCores يكون و executorCores بنفس القيمة.
  • يمكنك استخدام %%configure في مسارات Synapse، ولكن إذا لم تقم بتعيينه في خلية التعليمات البرمجية الأولى، فسيفشل تشغيل المسار لأنه لا يمكنه إعادة تشغيل الجلسة.
  • %%configure يتم تجاهل الأمر المستخدم فيmssparkutils.notebook.run، ولكن الأمر المستخدم في %run <notebook> يستمر في التشغيل.
  • يجب استخدام خصائص تكوين Spark القياسية في "conf" النص الأساسي. لا ندعم مراجع المستوى الأول لخصائص تكوين Spark.
  • لن تسري بعض خصائص Spark الخاصة في النص الأساسي، بما في "conf" ذلك "spark.driver.cores"و "spark.executor.cores""spark.driver.memory""spark.executor.memory"و."spark.executor.instances"

تكوين جلسة عمل ذات معلمات من البنية الأساسية لبرنامج ربط العمليات التجارية

يمكنك استخدام تكوين جلسة العمل ذات المعلمات لاستبدال القيم في %%configure الأمر السحري بمعلمات تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية (نشاط دفتر الملاحظات). عند إعداد خلية تعليمات برمجية %%configure ، يمكنك تجاوز القيم الافتراضية باستخدام كائن مثل هذا:

{
      "activityParameterName": "parameterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParameterFromPipelineNotebookActivity"
} 

يوضح المثال التالي القيم الافتراضية ل 4 و "2000"، والتي هي أيضا قابلة للتكوين:

%%configure  

{ 
    "driverCores": 
    { 
        "activityParameterName": "driverCoresFromNotebookActivity", 
        "defaultValue": 4 
    }, 
    "conf": 
    { 
        "livy.rsc.sql.num-rows": 
        { 
            "activityParameterName": "rows", 
            "defaultValue": "2000" 
        } 
    } 
} 

يستخدم دفتر الملاحظات القيمة الافتراضية إذا قمت بتشغيل دفتر الملاحظات في الوضع التفاعلي مباشرة أو إذا كان نشاط دفتر ملاحظات المسار لا يوفر معلمة تتطابق مع "activityParameterName".

أثناء وضع تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية، يمكنك استخدام علامة التبويب الإعدادات لتكوين إعدادات نشاط دفتر ملاحظات المسار.

لقطة شاشة لتكوين جلسة العمل ذات المعلمات في دفتر ملاحظات Synapse.

إذا كنت تريد تغيير تكوين جلسة العمل، يجب أن يكون اسم معلمة نشاط دفتر ملاحظات المسار هو نفسه كما هو الحال activityParameterName في دفتر الملاحظات. في هذا المثال، أثناء تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية، يستبدل driverCores في %%configure، ويستبدل 4000livy.rsc.sql.num-rows. 8

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

إحضار البيانات لجهاز كمبيوتر محمول

يمكنك تحميل البيانات من Azure Data Lake Storage Gen 2 وAzure Blob Storage وتجمعات SQL، كما هو موضح في نماذج التعليمات البرمجية التالية.

قراءة ملف CSV من Azure Data Lake Storage Gen2 ك Spark DataFrame

from pyspark.sql import SparkSession
from pyspark.sql.types import *
account_name = "Your account name"
container_name = "Your container name"
relative_path = "Your path"
adls_path = 'abfss://%s@%s.dfs.core.windows.net/%s' % (container_name, account_name, relative_path)

df1 = spark.read.option('header', 'true') \
                .option('delimiter', ',') \
                .csv(adls_path + '/Testfile.csv')

قراءة ملف CSV من Azure Blob Storage ك Spark DataFrame


from pyspark.sql import SparkSession

# Azure storage access info
blob_account_name = 'Your account name' # replace with your blob name
blob_container_name = 'Your container name' # replace with your container name
blob_relative_path = 'Your path' # replace with your relative folder path
linked_service_name = 'Your linked service name' # replace with your linked service name

blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)

# Allow Spark to access from Azure Blob Storage remotely

wasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)

spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)
print('Remote blob path: ' + wasb_path)

df = spark.read.option("header", "true") \
            .option("delimiter","|") \
            .schema(schema) \
            .csv(wasbs_path)

قراءة البيانات من حساب التخزين الأساسي

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

لقطة شاشة تعرض فتح جدول Spark جديد للوصول إلى بيانات الملف في Azure Synapse Analytics.

استخدام عناصر واجهة مستخدم IPython

عناصر واجهة المستخدم هي كائنات Python ذات أحداث لها تمثيل في المستعرض، غالبا كعنصر تحكم مثل شريط تمرير أو مربع نص. تعمل عناصر واجهة مستخدم IPython فقط في بيئات Python. وهي غير مدعومة حاليا بلغات أخرى (على سبيل المثال، Scala أو SQL أو C#).

خطوات استخدام عناصر واجهة مستخدم IPython

  1. استيراد الوحدة النمطية ipywidgets لاستخدام إطار عمل Jupyter Widgets:

    import ipywidgets as widgets
    
  2. استخدم دالة المستوى display الأعلى لعرض عنصر واجهة مستخدم، أو اترك تعبيرا من widget النوع في السطر الأخير من خلية التعليمات البرمجية:

    slider = widgets.IntSlider()
    display(slider)
    
    slider = widgets.IntSlider()
    slider
    
  3. قم بتشغيل الخلية. يظهر عنصر واجهة المستخدم في منطقة الإخراج.

    لقطة شاشة لشريط تمرير عنصر واجهة مستخدم IPython في دفتر ملاحظات Synapse.

يمكنك استخدام استدعاءات متعددة display() لعرض نفس مثيل عنصر واجهة المستخدم عدة مرات، ولكنها تظل متزامنة مع بعضها البعض:

slider = widgets.IntSlider()
display(slider)
display(slider)

لقطة شاشة لعدة أشرطة تمرير عنصر واجهة مستخدم IPython في دفتر ملاحظات Synapse.

لعرض عنصري واجهة مستخدم مستقلين عن بعضهما البعض، قم بإنشاء مثيلين من عناصر واجهة المستخدم:

slider1 = widgets.IntSlider()
slider2 = widgets.IntSlider()
display(slider1)
display(slider2)

عناصر واجهة المستخدم التي تم دعهما

نوع عنصر واجهة المستخدم عناصر واجهة مستخدم
رقمي IntSlider، FloatSlider، FloatLogSlider، IntRangeSlider، FloatRangeSlider، IntProgress، FloatProgress، BoundedIntText، BoundedFloatText، ، ، ، IntTextFloatText
Boolean ToggleButton، ، CheckboxValid
التحديد Dropdown، RadioButtons، Select، SelectionSlider، SelectionRangeSlider، ، ToggleButtonsSelectMultiple
السلسلة‬ Text، ، ComboboxText area، Password، Label، HTML، HTML Math، ، Image،Button
تشغيل (حركة) Date picker، ، Color pickerController
الحاوية/التخطيط Box، HBox، VBox، GridBox، Accordion، ، TabsStacked

القيود المعروفة

  • يسرد الجدول التالي عناصر واجهة المستخدم غير المدعومة حاليا، بالإضافة إلى الحلول البديلة:

    الدالات الطرق البديلة
    Outputعنصر واجهة المستخدم يمكنك استخدام الدالة print() بدلا من ذلك لكتابة نص في stdout.
    widgets.jslink() يمكنك استخدام الدالة widgets.link() لربط عنصري واجهة مستخدم مشابهين.
    FileUploadعنصر واجهة المستخدم لا يتوفر أي شيء.
  • لا تدعم الوظيفة العمومية display التي يوفرها Azure Synapse Analytics عرض عناصر واجهة مستخدم متعددة في مكالمة واحدة (أي ). display(a, b) يختلف هذا السلوك عن وظيفة IPython display .

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

احفظ دفاتر الملاحظات

يمكنك حفظ دفتر ملاحظات واحد أو كل دفاتر الملاحظات في مساحة العمل:

  • لحفظ التغييرات التي أجريتها على دفتر ملاحظات واحد، حدد الزر نشر على شريط أوامر دفتر الملاحظات.

    لقطة شاشة للزر لنشر التغييرات على دفتر ملاحظات Synapse.

  • لحفظ كافة دفاتر الملاحظات في مساحة العمل، حدد الزر نشر الكل على شريط أوامر مساحة العمل.

    لقطة شاشة للزر لنشر التغييرات على جميع دفاتر الملاحظات في مساحة عمل Synapse.

في جزء خصائص دفتر الملاحظات، يمكنك تكوين ما إذا كنت تريد تضمين إخراج الخلية عند الحفظ.

لقطة شاشة لخصائص دفتر ملاحظات Synapse وخانة الاختيار لتضمين إخراج الخلية عند الحفظ.

استخدام الأوامر السحرية

يمكنك استخدام أوامر Jupyter السحرية المألوفة في دفاتر Synapse. راجع القوائم التالية للأوامر السحرية المتوفرة حاليا. أخبرنا عن حالات الاستخدام الخاصة بك على GitHub حتى نتمكن من الاستمرار في إنشاء المزيد من الأوامر السحرية لتلبية احتياجاتك.

إشعار

يتم دعم الأوامر السحرية التالية فقط في مسارات Synapse: %%pyspark، ، %%spark، %%csharp. %%sql

الأوامر السحرية المتوفرة للخطوط:

%lsmagic، %time، %timeit، %history، ، %run%load

الأوامر السحرية المتوفرة للخلايا:

%%time، %%timeit، %%capture، %%writefile، %%sql، %%pyspark، %%spark، %%csharp، ، %%html%%configure

الرجوع إلى دفتر ملاحظات غير منشور

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

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

لقطة شاشة لخانة الاختيار لتمكين الرجوع إلى دفتر ملاحظات Synapse غير منشور.

يقارن الجدول التالي الحالات. على الرغم من أن ٪run وmssparkutils.notebook.run لهما نفس السلوك هنا، يستخدم %run الجدول كمثال.

حالة تعطيل تمكين
الوضع المباشر
Nb1 (منشور)
%run Nb1
تشغيل الإصدار الذيتم نشرهمن Nb1 تشغيل الإصدار الذيتم نشرهمن Nb1
Nb1 (جديد)
%run Nb1
خطأ تشغيل Nb1 الجديد
Nb1 (منشور مسبقا، تم تحريره)
%run Nb1
تشغيل الإصدار الذيتم نشرهمن Nb1 تشغيل الإصدارالذي تم تحريرهمن Nb1
وضع Git
Nb1 (منشور)
%run Nb1
تشغيل الإصدار الذيتم نشرهمن Nb1 تشغيل الإصدار الذيتم نشرهمن Nb1
Nb1 (جديد)
%run Nb1
خطأ تشغيل Nb1 الجديد
Nb1 (غير منشور وملتزم به)
%run Nb1
خطأ تشغيل Nb1 الذي تم تثبيته
Nb1 (تم نشره مسبقا، تم الالتزام به)
%run Nb1
تشغيل الإصدار الذيتم نشرهمن Nb1 تشغيل الإصدارالذي تم تثبيتهمن Nb1
Nb1 (نشر سابقا، جديد في الفرع الحالي)
%run Nb1
تشغيل الإصدار الذيتم نشرهمن Nb1 تشغيل Nb1 الجديد
Nb1 (غير منشور، تم الالتزام به مسبقا، تم تحريره)
%run Nb1
خطأ تشغيل الإصدارالذي تم تحريرهمن Nb1
Nb1 (منشور مسبقا وملتزم به، تم تحريره)
%run Nb1
تشغيل الإصدار الذيتم نشرهمن Nb1 تشغيل الإصدارالذي تم تحريرهمن Nb1

في ملخص

  • إذا قمت بتعطيل الرجوع إلى دفتر ملاحظات غير منشور، فقم بتشغيل الإصدار المنشور دائما.
  • إذا قمت بتمكين الرجوع إلى دفتر ملاحظات غير منشور، فإن تشغيل المرجع يعتمد دائما الإصدار الحالي من دفتر الملاحظات الذي يظهر على دفتر الملاحظات UX.

إدارة جلسات العمل النشطة

يمكنك إعادة استخدام جلسات عمل دفتر الملاحظات دون الحاجة إلى بدء جلسات عمل جديدة. في دفاتر ملاحظات Synapse، يمكنك إدارة جلسات العمل النشطة في قائمة واحدة. لفتح القائمة، حدد علامة الحذف (...)، ثم حدد إدارة الجلسات.

لقطة شاشة للتحديدات لفتح قائمة بجلسات عمل دفتر ملاحظات Synapse النشطة.

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

لقطة شاشة لجزء جلسات العمل النشطة في مساحة عمل Synapse.

استخدام سجلات Python في دفتر ملاحظات

يمكنك العثور على سجلات Python وتعيين مستويات السجل المختلفة وتنسيقاتها باستخدام نموذج التعليمات البرمجية التالي:

import logging

# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
    handler.setFormatter(formatter)

# Customize the log level for all loggers
logging.getLogger().setLevel(logging.INFO)

# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)

# Logger that uses the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")

# Logger that uses the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")

عرض محفوظات أوامر الإدخال

تدعم دفاتر ملاحظات Synapse الأمر %history السحري لطباعة محفوظات أوامر الإدخال لجلسة العمل الحالية. %history الأمر السحري مشابه لأمر Jupyter IPython القياسي ويعمل مع سياقات لغة متعددة في دفتر ملاحظات.

%history [-n] [range [range ...]]

في التعليمات البرمجية السابقة، -n هو رقم تنفيذ الطباعة. range يمكن أن تكون القيمة:

  • N: طباعة التعليمات البرمجية للخلية Nth المنفذة.
  • M-N: طباعة التعليمات البرمجية Mth من إلى الخلية المنفذة Nth .

على سبيل المثال، لطباعة محفوظات الإدخال من الخلية المنفذة الأولى إلى الثانية، استخدم %history -n 1-2.

دمج دفتر الملاحظات

إضافة دفتر ملاحظات إلى المسار

لإضافة دفتر ملاحظات إلى مسار موجود أو لإنشاء مسار جديد، حدد الزر إضافة إلى المسار في الزاوية العلوية اليسرى.

لقطة شاشة لخيارات القائمة لإضافة دفتر ملاحظات إلى مسار Synapse موجود أو جديد.

تعيين خلية معلمة

لتحديد معلمات دفتر الملاحظات، حدد علامة الحذف (...) للوصول إلى المزيد من الأوامر على شريط أدوات الخلية. ثم حدد تبديل خلية المعلمة لتعيين الخلية كخلية معلمة.

لقطة شاشة لخيار القائمة لتعيين خلية كخلية معلمة.

يبحث Azure Data Factory عن خلية المعلمة ويعامل هذه الخلية كخلية افتراضية للمعلمات التي تم تمريرها في وقت التنفيذ. يضيف محرك التنفيذ خلية جديدة أسفل خلية المعلمة مع معلمات الإدخال للكتابة فوق القيم الافتراضية.

تعيين قيم المعلمات من البنية الأساسية لبرنامج ربط العمليات التجارية

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

لقطة شاشة لمنطقة تعيين المعلمات في Azure Synapse Analytics.

عند تعيين قيم المعلمات، يمكنك استخدام لغة تعبير المسار أو متغيرات النظام.

استخدام مفاتيح الاختصار

على غرار أجهزة Jupyter Notebooks، تحتوي أجهزة الكمبيوتر المحمولة Synapse على واجهة مستخدم مشروطة. تقوم لوحة المفاتيح بأشياء مختلفة، استنادا إلى الوضع الذي توجد به خلية دفتر الملاحظات. تدعم دفاتر ملاحظات Synapse الوضعين التاليين لخلية التعليمات البرمجية:

  • وضع الأمر: تكون الخلية في وضع الأوامر عندما لا يطالبك أي مؤشر نص بالكود. عندما تكون الخلية في وضع الأوامر، يمكنك تحرير دفتر الملاحظات ككل ولكن ليس الكتابة في خلايا فردية. أدخل وضع الأوامر عن طريق تحديد مفتاح Esc أو باستخدام الماوس للتحديد خارج منطقة محرر الخلية.

    لقطة شاشة لوضع الأمر في دفتر ملاحظات Synapse.

  • وضع التحرير: عندما تكون خلية في وضع التحرير، يطالبك مؤشر النص بكتابة الخلية. أدخل وضع التحرير عن طريق تحديد مفتاح الإدخال Enter أو باستخدام الماوس لتحديد منطقة محرر الخلية.

    لقطة شاشة لوضع التحرير في دفتر ملاحظات Synapse.

مفاتيح الاختصار في وضع الأوامر

الإجراء اختصار دفتر ملاحظات Synapse
قم بتشغيل الخلية الحالية وحدد أدناه Shift+Enter
قم بتشغيل الخلية الحالية وإدراجها أدناه Alt+Enter
قم بتشغيل الخلية الحالية Ctrl+Enter
قم بتحديد الخلية أعلاه أعلى
تحديد الخلية أدناه أسفل
قم بتحديد الخلية السابقة أ
حدد الخطوة التالية J
قم بإدراج خلية أعلاه ش
قم بإدراج خلية أدناه مضمن
قم بإزالة الخلية المحددة Shift+D
التبديل لوضع التحرير Enter

مفاتيح الاختصار في وضع التحرير

الإجراء اختصار دفتر ملاحظات Synapse
تحريك المؤشر للأعلى أعلى
قم بتحريك المؤشر للأعلى أسفل
تراجع Ctrl+Z
إعادة Ctrl+Y
كتابة التعليق/ إلغاء التعليق Ctrl+/
إزالة كلمة قبل Ctrl+Backspace
إزالة كلمة بعد Ctrl+Delete
الانتقال إلى بداية تشغيل الخلية Ctrl+Home
الانتقال إلى نهاية الخلية Ctrl+End
الذهاب كلمة واحدة اليسار Ctrl+لليسار
الذهاب كلمة واحدة الحق Ctrl+اليمين
تحديد الكل Ctrl+A
تغير المسافة البادئة Ctrl+]
بادئة Ctrl+[
قم بالتبديل إلى وضع الأوامر المفتاح Esc