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

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

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

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

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

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

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

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

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

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

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

إشعار

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

إضافة خلية

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

  1. مرر فوق المسافة بين خليتين وحددتعليمة برمجيةأوMarkdown. لقطة شاشة لخلية add-azure -ebook-cell-with-cell-button

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


تحديد لغة أساسية

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

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

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

لقطة شاشة للغة synapse الافتراضية

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

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

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

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

لقطة أوامر سحرية خاصة بـ spark من Synapse

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

لا يمكنك الإشارة إلى البيانات أو المتغيرات مباشرة عبر لغات مختلفة في دفتر ملاحظات 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")
    

IDE-style IntelliSense

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

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

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

إشعار

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

القصاصات البرمجية

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

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

صورة بتنسيق GIF متحركة لقصاصات برمجية للتعليمات البرمجية الخاصة بـ Synapse

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

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

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


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

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

لقطة من Synapse للتراجع عن خلايا aznb

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

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

إشعار

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


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

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

    لقطة شاشة لزر التعليق Synapse

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

    لقطة شاشة للتعليق الجديد من Synapse

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

    لقطة من تحرير تعليق Synapse


نقل خلية

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


حذف خلية

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

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

لقطة شاشة من azure -ebook-delete-a-cell


تصغير إدخال الخلية

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

صورة بتنسيق لـ GIF azure-notebook-collapse-cell-input


تصغير إخراج الخلية

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

صورة بتنسيق GIF متحركة لـ azure-notebook-collapse-cell-output


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

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

لقطة شاشة لـ azure-notebook-outline


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

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

تشغيل خلية

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

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

    لقطة شاشة لـ run-cell-1

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


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

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

لقطة شاشة لـ run-all-cells

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

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

لقطة شاشة لـ azure-notebook-run-cells-above-or-below


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

قم بتحديد الزرإلغاء الكللإلغاء الخلايا أو الخلايا قيد التشغيل التي تنتظر في قائمة الانتظار. لقطة شاشة من azure -ebook-cancellation-all-cells


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

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

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

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

إشعار

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

مستكشف متغير

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

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

لقطة شاشة لـ azure -ebook-variable-explorer

إشعار

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


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

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

لقطة شاشة لحالة الخلية

مؤشر تقدم Spark

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

لقطة شاشة لمؤشر تقدم الشرارة

تكوين جلسة شرارة

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

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

لقطة شاشة لإدارة الجلسة

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

يمكنك أيضًا تحديد إعدادات الجلسة spark عبر أمر سحري ٪٪configure. تحتاج جلسة spark لإعادة التشغيل لجعل تأثير الإعدادات. نوصيك بتشغيل ٪٪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».
  • يمكنك استخدام ٪٪ تكوين في مسارات Synapse، لكن إذا لم يتم تعيينها في خلية التعليمات البرمجية الأولى، فسيفشل تشغيل البنية الأساسية نظرًا إلى عدم إمكانية إعادة تشغيل الجلسة.
  • سيتم تجاهل تكوين ٪٪ المستخدم في mssparkutils.notebook.run ولكن سيتم استخدامه في دفتر ملاحظات التشغيل ٪ سيستمر في التنفيذ.
  • يجب استخدام خصائص التكوين Spark القياسية في جسم «conf». لا ندعم مرجع المستوى الأول لخصائص التكوين Spark.
  • لن يتم تفعيل بعض خصائص الشرارة الخاصة، بما في ذلك «spark.driver.cores» و«spark.executor.cores» و«spark.driver.memory» و«spark.executor.memory» و«spark.executor.instances» في هيئة «conf».

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

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

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

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

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

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

إذا كنت تريد تغيير تكوين الجلسة، يجب أن يكون اسم معلمات نشاط دفتر ملاحظات المسار هو ActivityParameterName في دفتر الملاحظات. عند تشغيل هذا المسار، في هذا المثال، سيتم استبدال نقاط السائق في التكوين ٪٪ بـ 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)

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

يمكنك الوصول إلى البيانات في حساب التخزين الأساسي مباشرة. ليس هناك حاجة لتوفير مفاتيح سرية. إذا قمت بالنقر بزر الماوس الأيمن فوق ملف وقمت بتحديد⁧⁩New notebook⁧⁩ لعرض دفتر ملاحظات جديد مع مستخرج البيانات تلقائيًا.

لقطة شاشة من بيانات إلى خلية

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

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

    لقطة شاشة من شريط تمرير أدوات ipython

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

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

    لقطة من منزلقات ipython widgets

  5. لتصيير عنصرين مستقلين عن بعضهما، أنشئ نسختين من عناصر واجهة المستخدم:

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

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

النوع المتعلق بعناصر واجهة المستخدم عناصر واجهة مستخدم
عناصر واجهة المستخدم رقمية IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
عناصر واجهة المستخدم منطقية ToggleButton, Checkbox, Valid
عناصر واجهة المستخدم للتحديد Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
عناصر واجهة مستخدم للسلسلة Text, Text area, Combobox, Password, Label, HTML, HTML Math, Image, Button
أدوات التشغيل (الرسوم المتحركة) منتقي التاريخ، منتقي ألوان، وحدة التحكم
أدوات الحاوية/ التخطيط Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked

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

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

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

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


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

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

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

    لقطة من دفتر النشر

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

    لقطة شاشة لنشر الكل

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

لقطة شاشة لخصائص دفتر الملاحظات

أوامر سحرية

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

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

لقطة شاشة لمرجع دفتر الملاحظات

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

قم بملاحظة أن٪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 الآن إدارة جلسات العمل النشطة في قائمةإدارة جلساتالعمل، ويمكنك مشاهدة كافة جلسات العمل في مساحة العمل الحالية التي بدأتها من دفتر الملاحظات.

لقطة شاشة لجلسات إدارة دفتر الملاحظات

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

لقطة شاشة لقائمة جلسات دفتر الملاحظات

Python تسجيل الدخول في Notebook

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

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

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

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

للخيارات:

  • -n: طباعة رقم التنفيذ.

أين يمكن أن يكون النطاق:

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

مثال:

  • طباعة محفوظات الإدخال من الخلية المنفذة من 1 إلى 2: %history -n 1-2

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

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

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

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

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

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

لقطة شاشة للمعلمة azure -ebook-toggle


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

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

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

لقطة شاشة لتعيين المعلمة

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

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

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

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

    لقطة من وضع الأوامر

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

    لقطة من أسلوب التحرير

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

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

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

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

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

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