إنشاء دفاتر ملاحظات Synapse وتطويرها وصيانتها في Azure Synapse Analytics
دفتر ملاحظات Synapse هو واجهة ويب لك لإنشاء ملفات تحتوي على تعليمات برمجية مباشرة ومرئيات ونص سردي. تعتبر أجهزة الكمبيوتر المحمولة مكانًا جيدًا للتحقق من صحة الأفكار واستخدام التجارب السريعة للحصول على نتائج التحليلات من بياناتك. تُستخدم أجهزة الكمبيوتر المحمولة أيضًا على نطاق واسع في إعداد البيانات، وتصور البيانات، والتعلم الآلي، وسيناريوهات البيانات الضخمة الأخرى.
باستخدام دفتر ملاحظات Synapse، يمكنك:
- ابدأ بدون جهد إعداد.
- الحفاظ على أمان البيانات مع ميزات أمان المؤسسة المضمنة.
- يمكنك تحليل البيانات عبر التنسيقات البسيطة (CSV وtxt وJSON، إلخ) وتنسيقات الملفات المعالجة (parquet وDelta Lake وORC، إلخ) وملفات بيانات جدولية SQL مقابل Spark وSQL.
- كن منتجًا مع قدرات التأليف المحسنة ومرئيات البيانات المضمنة.
توضح هذه المقالة كيفية استخدام دفاتر الملاحظات في Synapse Studio.
إنشاء دفتر ملاحظات
هناك طريقتان لإنشاء دفتر ملاحظات. يمكنك إنشاء دفتر ملاحظات جديد أو استيراد دفتر ملاحظات موجود إلى مساحة عمل Synapse من "مستكشف الكائنات". تتعرف دفاتر الملاحظات Synapse على ملفات IPYNB القياسية Jupyter Notebook.

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

استخدم مفاتيح اختصار aznb ضمن وضع الأوامر. اضغط على A لإدراج خلية أعلى الخلية الحالية. اضغط على B لإدراج خلية أسفل الخلية الحالية.
تعيين لغة أساسية
تدعم دفاتر ملاحظات Synapse أربع لغات Apache Spark:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- .NET Spark (C#)
يمكنك تعيين اللغة الأساسية للخلايا المضافة الجديدة من القائمة المنسدلة في شريط الأوامر العلوي.

استخدام لغات متعددة
يمكنك استخدام لغات متعددة في دفتر ملاحظات واحد عن طريق تحديد الأمر السحري الصحيح للغة في بداية الخلية. يسرد الجدول التالي الأوامر السحرية لتبديل لغات الخلايا.
| الأمر السحري | اللغة | الوصف |
|---|---|---|
| %%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.

استخدام الجداول المؤقتة للإشارة إلى البيانات عبر اللغات
لا يمكنك الرجوع إلى البيانات أو المتغيرات مباشرة عبر لغات مختلفة في دفتر ملاحظات Synapse. في Spark، يمكن الرجوع إلى جدول مؤقت عبر اللغات. فيما يلي مثال على كيفية قراءة Scala DataFrame في PySpark وSparkSQL باستخدام جدول Spark مؤقت كحل بديل.
في الخلية 1، اقرأ DataFrame من موصل تجمع SQL باستخدام Scala وقم بإنشاء جدول مؤقت.
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )في الخلية 2، يمكنك الاستعلام عن البيانات باستخدام Spark SQL.
%%sql SELECT * FROM mydataframetableفي الخلية 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 مختلطة مع اقتراحات أخرى. تتم محاذاة محتويات مقتطفات التعليمات البرمجية مع لغة خلية التعليمات البرمجية. يمكنك الاطلاع على المقتطفات المتاحة عن طريق كتابة المقتطف أو ظهور أي كلمات رئيسية في عنوان المقتطف في محرر خلايا الشفرات. على سبيل المثال، من خلال كتابة قراءة ، يمكنك الاطلاع على قائمة المقتطفات لقراءة البيانات من مصادر بيانات مختلفة.

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

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

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

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

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

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

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

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

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

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

تشغيل دفاتر الملاحظات
يمكنك تشغيل خلايا التعليمات البرمجية في دفتر الملاحظات بشكل فردي أو كليا في وقت واحد. يتم تمثيل حالة كل خلية وتقدمها في دفتر الملاحظات.
تشغيل خلية
هناك عدة طرق لتشغيل التعليمة البرمجية في خلية.
مرر فوق الخلية التي تريد تشغيلها وحدد زر Run Cell أو اضغط على Ctrl+Enter.

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

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

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

مرجع دفتر الملاحظات
يمكنك استخدام %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). ستظهر المزيد من المتغيرات تلقائيا عند تعريفها في خلايا التعليمات البرمجية. سيؤدي النقر فوق كل رأس عمود إلى فرز المتغيرات في الجدول.
يمكنك تحديد الزر متغيرات على شريط أوامر دفتر الملاحظات لفتح مستكشف المتغيرات أو إخفائه.

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

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

تكوين جلسة Spark
يمكنك تحديد مدة المهلة، وعدد المنفذين وحجمها لإعطائها لجلسة Spark الحالية في Configure session. إعادة تشغيل جلسة Spark هي لتفعيل تغييرات التكوين. يتم مسح كل متغيرات دفتر الملاحظات المخزنة مؤقتًا.
الأمر السحري لتكوين جلسة عمل الشرارة
يمكنك أيضا تحديد إعدادات جلسة الشرارة عبر الأمر السحري ٪٪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" من نشاط "دفتر ملاحظات خط الأنابيب".
أثناء وضع تشغيل خط الأنابيب، يمكنك تكوين إعدادات نشاط دفتر ملاحظات خط الأنابيب على النحو التالي: 
إذا كنت تريد تغيير تكوين جلسة العمل، فيجب أن يكون اسم معلمات نشاط دفتر الملاحظات لخط الأنابيب هو نفسه اسم النشاط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)
قراءة البيانات من حساب التخزين الأساسي
يمكنك الوصول إلى البيانات في حساب التخزين الأساسي مباشرة. ليس هناك حاجة لتوفير مفاتيح سرية. في مستكشف البيانات، انقر بزر الماوس الأيمن فوق ملف وحدد دفتر ملاحظات جديد لرؤية دفتر ملاحظات جديد مع مستخرج بيانات تم إنشاؤه تلقائيا.

اي الحاجيات
الحاجيات هي كائنات ثعبان مليئة بالأحداث لها تمثيل في المتصفح ، وغالبا ما تكون بمثابة عنصر تحكم مثل شريط التمرير ومربع النص وما إلى ذلك. تعمل IPython Widgets فقط في بيئة Python ، وهي غير مدعومة بلغات أخرى (مثل Scala و SQL و C #) حتى الآن.
كيفية استخدام أداة IPython
تحتاج إلى استيراد
ipywidgetsالوحدة النمطية أولا لاستخدام إطار عمل Jupyter Widget.import ipywidgets as widgetsيمكنك استخدام دالة المستوى
displayالأعلى لعرض عنصر واجهة مستخدم أو ترك تعبير عن نوع عنصر واجهة المستخدم في السطر الأخير من خلية التعليمات البرمجية.slider = widgets.IntSlider() display(slider)slider = widgets.IntSlider() sliderقم بتشغيل الخلية ، وسيتم عرض الأداة في منطقة الإخراج.

يمكنك استخدام مكالمات متعددة
display()لعرض مثيل الأداة نفسه عدة مرات، ولكنها ستظل متزامنة مع بعضها البعض.slider = widgets.IntSlider() display(slider) display(slider)
لجعل مواجهتين مستقلتين عن بعضهما البعض، قم بإنشاء مثيلين للأداة:
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, الأكورديون, علامات التبويب, مكدسة |
القيود المعروفة
الأدوات التالية غير مدعومة بعد ، يمكنك اتباع الحل البديل المقابل على النحو التالي:
الوظيفة الحل البديل Outputالقطعهيمكنك استخدام print()الوظيفة بدلا من ذلك لكتابة النص في stdout.widgets.jslink()يمكنك استخدام widgets.link()الوظيفة لربط اثنين من الأدوات المتشابهة.FileUploadالقطعهلا دعم حتى الآن. لا تدعم الوظيفة العامة
displayالتي يوفرها Synapse عرض عناصر واجهة مستخدم متعددة في مكالمة 1 (أيdisplay(a, b)) ، والتي تختلف عن وظيفة IPythondisplay.إذا قمت بإغلاق دفتر ملاحظات يحتوي على أداة IPython، فلن تتمكن من رؤيته أو التفاعل معه حتى تقوم بتنفيذ الخلية المقابلة مرة أخرى.
حفظ دفاتر الملاحظات
يمكنك حفظ دفتر ملاحظات واحد أو كافة دفاتر الملاحظات في مساحة العمل.
لحفظ التغييرات التي أجريتها على دفتر ملاحظات واحد، حدد الزر Publish على شريط أوامر دفتر الملاحظات.

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

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

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

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

تسجيل دخول بايثون في دفتر الملاحظات
يمكنك العثور على سجلات 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")
دمج دفتر ملاحظات
إضافة دفتر ملاحظات إلى خط أنابيب
حدد الزر إضافة إلى خط أنابيب في الزاوية العلوية اليسرى لإضافة دفتر ملاحظات إلى خط أنابيب موجود أو إنشاء خط أنابيب جديد.

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

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

عند تعيين قيم المعلمات، يمكنك استخدام لغة تعبير خط الأنابيب أو متغيرات النظام.
مفاتيح الاختصار
على غرار Jupyter Notebooks ، تحتوي دفاتر ملاحظات Synapse على واجهة مستخدم مشروطة. تقوم لوحة المفاتيح بأشياء مختلفة بناء على الوضع الذي توجد فيه خلية دفتر الملاحظات. تدعم دفاتر ملاحظات Synapse الوضعين التاليين لخلية تعليمات برمجية معينة: وضع الأوامر ووضع التحرير.
تكون الخلية في وضع الأوامر عندما لا يكون هناك مؤشر نص يطالبك بالكتابة. عندما تكون خلية في وضع الأوامر، يمكنك تحرير دفتر الملاحظات ككل ولكن دون الكتابة في خلايا فردية. أدخل وضع الأوامر بالضغط على
ESCالماوس أو استخدامه للتحديد خارج منطقة محرر الخلية.
تتم الإشارة إلى وضع التحرير بواسطة مؤشر نص يطالبك بالكتابة في منطقة المحرر. عندما تكون خلية في وضع التحرير، يمكنك الكتابة في الخلية. أدخل وضع التحرير بالضغط
Enterعلى الماوس أو استخدامه لتحديد منطقة محرر الخلية.
مفاتيح الاختصار ضمن وضع الأوامر
| إجراء | اختصارات دفتر الملاحظات 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 +] |
| ديدنت | كترل + [ |
| التبديل إلى وضع الأوامر | إسك |
