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

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

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

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

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

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

هناك طريقتان لإنشاء دفتر ملاحظات. يمكنك إنشاء دفتر ملاحظات جديد أو استيراد دفتر ملاحظات موجود إلى مساحة عمل Synapse من "مستكشف الكائنات". تتعرف دفاتر الملاحظات Synapse على ملفات IPYNB القياسية Jupyter Notebook.

Screenshot of create new or import notebook

تطوير أجهزة الكمبيوتر المحمولة

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

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

إضافة خلية

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

  1. مرر مؤشر الماوس فوق المسافة بين خليتين وحدد رمز أو Markdown. Screenshot of add-azure-notebook-cell-with-cell-button

  2. استخدم مفاتيح اختصار aznb ضمن وضع الأوامر. اضغط على ⁧⁩A⁧⁩ لإدراج خلية أعلى الخلية الحالية. اضغط على ⁧⁩B⁧⁩ لإدراج خلية أسفل الخلية الحالية.


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

تدعم دفاتر ملاحظات Synapse أربع لغات Apache Spark:

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

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

Screenshot of default-synapse-language

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

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

الأمر السحري اللغة الوصف
%%pyspark Python نفذ استعلام ⁧⁩Python⁧⁩ مقابل سياق Spark.
%%spark Scala تنفيذ استعلام ⁧⁩Scala⁧⁩ مقابل سياق Spark.
%%sql SparkSQL تنفيذ استعلام ⁧⁩SparkSQL⁧⁩ مقابل سياق SparkSQL.
%%csharp ‎.NET لـ Spark C#‎ تنفيذ استعلام ⁧⁩‎.NET لـ Spark C#‎⁧⁩ مقابل سياق Spark.

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

Screenshot of Synapse spark magic commands

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

لا يمكنك الرجوع إلى البيانات أو المتغيرات مباشرة عبر لغات مختلفة في دفتر ملاحظات Synapse. في Spark، يمكن الرجوع إلى جدول مؤقت عبر اللغات. فيما يلي مثال على كيفية قراءة ⁧Scala⁩ DataFrame في ⁧PySpark⁩ و⁧SparkSQL⁩ باستخدام جدول 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 مع محرر موناكو لجلب IntelliSense على غرار IDE إلى محرر الخلايا. يساعدك تمييز بناء الجملة وعلامة الخطأ وإكمال التعليمات البرمجية تلقائيا على كتابة التعليمات البرمجية وتحديد المشكلات بشكل أسرع.

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

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

ملاحظة

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

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

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

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

Animated GIF of Synapse code snippets

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

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

Screenshot of Synapse text cell toolbar


التراجع عن عملية الخلية / إعادتها

حدد الزر تراجع / عن الإعادة أو اضغط على ZShift / +Z لإلغاء أحدث عمليات الخلايا. يمكنك الآن التراجع / إعادة ما يصل إلى أحدث 10 عمليات خلية تاريخية.

Screenshot of Synapse undo cells of aznb

عمليات خلية التراجع المدعومة:

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

ملاحظة

عمليات النص داخل الخلية وعمليات التعليق على خلية التعليمات البرمجية ليست غير قابلة للتنفيذ. يمكنك الآن التراجع / إعادة ما يصل إلى أحدث 10 عمليات خلية تاريخية.


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

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

    Screenshot of Synapse comment button

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

    Screenshot of Synapse new comment

  3. يمكنك تنفيذ تحرير التعليق أو حل سلسلة الرسائل أو حذف سلسلة الرسائل بالنقر فوق الزر المزيد إلى جانب تعليقك.

    Screenshot of Synapse edit comment


نقل خلية

انقر على الجانب الأيسر من الخلية واسحبها إلى الموضع المطلوب. Animated GIF of Synapse move cells


حذف خلية

لحذف خلية، حدد الزر حذف الموجود على يسار الخلية.

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

Screenshot of azure-notebook-delete-a-cell


طي إدخال خلية

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

Animated GIF of azure-notebook-collapse-cell-input


طي إخراج خلية

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

Animated GIF of azure-notebook-collapse-cell-output


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

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

Screenshot of azure-notebook-outline


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

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

تشغيل خلية

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

  1. مرر فوق الخلية التي تريد تشغيلها وحدد زر ⁧⁩Run Cell⁧⁩ أو اضغط على ⁧⁩Ctrl+Enter⁧⁩.

    Screenshot of run-cell-1

  2. استخدم ⁧⁩مفاتيح الاختصار ضمن وضع الأوامر⁧⁩. اضغط على ⁧⁩Shift+ Enter⁧⁩ لتشغيل الخلية الحالية وحدد الخلية أدناه. اضغط على ⁧⁩Alt+Enter⁧⁩ لتشغيل الخلية الحالية وإدراج خلية جديدة أدناه.


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

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

Screenshot of run-all-cells

تشغيل كافة الخلايا أعلى أو أسفل

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

Screenshot of azure-notebook-run-cells-above-or-below


إلغاء كافة الخلايا قيد التشغيل

حدد الزر إلغاء الكل لإلغاء الخلايا قيد التشغيل أو الخلايا التي تنتظر في قائمة الانتظار. Screenshot of azure-notebook-cancel-all-cells


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

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

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

يعمل مرجع دفتر الملاحظات في كل من الوضع التفاعلي وخط أنابيب Synapse.

ملاحظة

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

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

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

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

Screenshot of azure-notebook-variable-explorer

ملاحظة

المستكشف المتغير يدعم بايثون فقط.


⁧⁩مؤشر حالة الخلية⁧⁩

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

Screenshot of cell-status

مؤشر تقدم Spark

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

Screenshot of spark-progress-indicator

تكوين جلسة Spark

يمكنك تحديد مدة المهلة، وعدد المنفذين وحجمها لإعطائها لجلسة Spark الحالية في ⁧⁩Configure session⁧⁩. إعادة تشغيل جلسة Spark هي لتفعيل تغييرات التكوين. يتم مسح كل متغيرات دفتر الملاحظات المخزنة مؤقتًا.

Screenshot of session-management

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

يمكنك أيضا تحديد إعدادات جلسة الشرارة عبر الأمر السحري ٪٪configure. تحتاج جلسة الشرارة إلى إعادة التشغيل لجعل الإعدادات فعالة. نوصي بتشغيل ٪٪ configure في بداية دفتر الملاحظات. فيما يلي عينة ، ارجع إليها للحصول على https://github.com/cloudera/livy#request-body قائمة كاملة بالمعلمات الصالحة.

%%configure
{
    //You can get a list of valid parameters to config 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 standard spark property, to find more available properties please visit:https://spark.apache.org/docs/latest/configuration.html#application-properties.
        "spark.driver.maxResultSize":"10g",
    //Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
        "livy.rsc.sql.num-rows":"3000" 
    }
}

ملاحظة

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

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

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

{
      "activityParameterName": "paramterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
} 
%%configure  

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

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

أثناء وضع تشغيل خط الأنابيب، يمكنك تكوين إعدادات نشاط دفتر ملاحظات خط الأنابيب على النحو التالي: Screenshot of parameterized session configuration

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

ملاحظة

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

إحضار البيانات إلى دفتر ملاحظات

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

قراءة CSV من Azure Data Lake Store 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 Blob 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)

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

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

Screenshot of data-to-cell

اي الحاجيات

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

كيفية استخدام أداة IPython

  1. تحتاج إلى استيراد ipywidgets الوحدة النمطية أولا لاستخدام إطار عمل Jupyter Widget.

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

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

    Screenshot of ipython widgets slider

  4. يمكنك استخدام مكالمات متعددة display() لعرض مثيل الأداة نفسه عدة مرات، ولكنها ستظل متزامنة مع بعضها البعض.

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

    Screenshot of ipython widgets sliders

  5. لجعل مواجهتين مستقلتين عن بعضهما البعض، قم بإنشاء مثيلين للأداة:

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

الحاجيات المدعومة

نوع الحاجيات الحاجيات
الحاجيات الرقمية IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
الحاجيات المنطقية تبديل زر، خانة اختيار، صالح
اختيار الحاجيات القائمة المنسدلة، أزرار الراديو، تحديد، شريط تمرير التحديد، شريط تمرير التحديدالنطاق، تبديل الأزرار، تحديدمتعدد
سلسلة الحاجيات نص, منطقة النص, التحرير والسرد , كلمة المرور, تسمية, HTML, HTML الرياضيات, صورة, زر
تشغيل (الرسوم المتحركة) الحاجيات منتقي التاريخ، منتقي الألوان، وحدة تحكم
عناصر واجهة مستخدم الحاوية/التخطيط مربع, HBox, VBox, GridBox, الأكورديون, علامات التبويب, مكدسة

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

  1. الأدوات التالية غير مدعومة بعد ، يمكنك اتباع الحل البديل المقابل على النحو التالي:

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

  3. إذا قمت بإغلاق دفتر ملاحظات يحتوي على أداة IPython، فلن تتمكن من رؤيته أو التفاعل معه حتى تقوم بتنفيذ الخلية المقابلة مرة أخرى.


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

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

  1. لحفظ التغييرات التي أجريتها على دفتر ملاحظات واحد، حدد الزر ⁧⁩Publish⁧⁩ على شريط أوامر دفتر الملاحظات.

    Screenshot of publish-notebook

  2. لحفظ كل دفاتر الملاحظات في مساحة العمل، حدد الزر ⁧⁩Publish all⁧⁩ في شريط أوامر مساحة العمل.

    Screenshot of publish-all

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

Screenshot of notebook-properties

الأوامر السحرية

يمكنك استخدام أوامر 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) ، من خلال الاستفادة من هذا النهج ، يمكنك بسهولة تجنب تلوث المكتبات الشائعة أثناء عملية التطوير أو تصحيح الأخطاء.

يمكنك تمكين مرجع دفتر الملاحظات غير المنشور من لوحة خصائص:

Screenshot of notebook-reference

لمقارنة الحالات المختلفة ، يرجى مراجعة الجدول أدناه:

لاحظ أن ٪ run وmssparkutils.notebook.run لهما نفس السلوك هنا. نحن نستخدم %run هنا كمثال.

الحالة تعطيل تمكين
الوضع المباشر
- Nb1 (منشور)
%run Nb1
تشغيل النسخة المنشورة من 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 (منشور سابقا، ملتزم)
%run Nb1
تشغيل النسخة المنشورة من Nb1 تشغيل الإصدار الملتزم به من Nb1
- Nb1 (منشور سابقا، جديد في الفرع الحالي)
%run Nb1
تشغيل النسخة المنشورة من Nb1 تشغيل Nb1 جديد
- Nb1 (لم يتم نشره، تم الالتزام به سابقا، تم تحريره)
%run Nb1
خطأ تشغيل النسخة المعدلة من Nb1
- Nb1 (نشر سابقا وملتزم به ومحرر)
%run Nb1
تشغيل النسخة المنشورة من Nb1 تشغيل النسخة المعدلة من Nb1

الختام

  • إذا تم تعطيله، فقم دائما بتشغيل الإصدار المنشور .
  • إذا تم تمكينه ، فإن الأولوية هي: تم تحريره / نشره ملتزم > جديد>.

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

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

Screenshot of notebook-manage-sessions

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

Screenshot of notebook-sessions-list

تسجيل دخول بايثون في دفتر الملاحظات

يمكنك العثور على سجلات 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 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 use 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 use 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")

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

إضافة دفتر ملاحظات إلى خط أنابيب

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

Screenshot of Add notebook to pipeline

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

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

Screenshot of azure-notebook-toggle-parameter


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

تعيين قيم المعلمات من خط أنابيب

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

Screenshot of Assign a parameter

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

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

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

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

    Screenshot of command-mode

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

    Screenshot of edit-mode

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

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

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

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

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

الخطوات التالية