إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
دفتر الملاحظات في 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 القياسية.
تحديث دفاتر الملاحظات
تتكون دفاتر الملاحظات من خلايا، وهي كتل فردية من التعليمات البرمجية أو النص الذي يمكنك تشغيله بشكل مستقل أو كمجموعة.
تصف الأقسام التالية عمليات تطوير دفاتر الملاحظات:
- إضافة خلية
- حدد لغة أساسية
- استخدم لغات متعددة
- استخدام الجداول المؤقتة للإشارة إلى البيانات عبر اللغات
- استخدام IntelliSense على نمط IDE
- استخدام مقتطفات التعليمات البرمجية
- تنسيق الخلايا النصية باستخدام أزرار شريط الأدوات
- التراجع عن عملية خلية أو إعادة تشغيلها
- التعليق على خلية تعليمات برمجية
- نقل خلية
- نسخ خلية
- حذف خلية
- طي إدخال الخلية
- طي إخراج الخلية
- استخدام مخطط تفصيلي لدفتر الملاحظات
إشعار
في دفاتر الملاحظات، يتم إنشاء مثيل SparkSession تلقائيا لك وتخزينه في متغير يسمى spark. هناك أيضا متغير يسمى SparkContextsc. يمكن للمستخدمين الوصول إلى هذه المتغيرات مباشرة ولكن يجب ألا يغيروا قيم هذه المتغيرات.
إضافة خلية
هناك طرق متعددة لإضافة خلية جديدة إلى دفتر الملاحظات:
مرر فوق المسافة بين خليتين وحددتعليمة برمجيةأوMarkdown.
استخدم مفاتيح الاختصار في وضع الأوامر. حدد المفتاح A لإدراج خلية أعلى الخلية الحالية. حدد المفتاح B لإدراج خلية أسفل الخلية الحالية.
تعيين لغة أساسية
تدعم أجهزة الكمبيوتر المحمولة Synapse أربع لغات من لغات Apache Spark:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- .NET Spark (C#)
- SparkR (R)
يمكنك تعيين اللغة الأساسية للخلايا المضافة حديثا من القائمة المنسدلة اللغة في شريط الأوامر العلوي.
استخدام لغات متعددة
يمكنك استخدام لغات متعددة في دفتر ملاحظات واحد عن طريق تحديد أمر سحري للغة الصحيح في بداية الخلية. يسرد الجدول الآتي الأوامر السحرية لتبديل لغات الخلية.
| الأمر السحري | اللغة | الوصف |
|---|---|---|
%%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.
استخدام الجداول المؤقتة للإشارة إلى البيانات عبر اللغات
لا يمكنك الرجوع إلى البيانات أو المتغيرات مباشرة عبر لغات مختلفة في دفتر ملاحظات Synapse. في Spark، يمكنك الرجوع إلى جدول مؤقت عبر اللغات. فيما يلي مثال على كيفية قراءة Scala DataFrame في PySpark وSpark SQL باستخدام جدول 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 باستخدام محرر Monaco لإحضار IntelliSense لنمط بيئة التطوير المتكامل إلى محرر الخلايا. تساعدك ميزات تمييز بناء الجملة وعلامة الخطأ وإكمال التعليمات البرمجية التلقائي على كتابة التعليمات البرمجية وتحديد المشكلات بشكل أسرع.
تكون ميزات IntelliSense في مستويات نضوج مختلفة للغات المختلفة. استخدم الجدول الآتي لمعرفة ما المدعوم.
| اللغات | تمييز بناء الجملة | علامة خطأ بناء الجملة | إكمال التعليمة البرمجية لبناء الجملة | إكمال التعليمات البرمجية المتغيرة | إكمال التعليمات البرمجية لوظيفة النظام | إكمال التعليمات البرمجية لوظيفة المستخدم | مسافة بادئة ذكية | طي التعليمات البرمجية |
|---|---|---|---|---|---|---|---|---|
| PySpark (Python) | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
| Spark (Scala) | نعم | نعم | نعم | نعم | نعم | نعم | لا | نعم |
| Spark SQL | نعم | نعم | نعم | نعم | نعم | لا | لا | لا |
| .NET لـ Spark (C#) | نعم | نعم | نعم | نعم | نعم | نعم | نعم | نعم |
مطلوب جلسة Spark نشطة للاستفادة من إكمال التعليمات البرمجية المتغيرة، وإكمال التعليمات البرمجية لوظيفة النظام، وإكمال التعليمات البرمجية لوظيفة المستخدم ل .NET ل Spark (C#).
استخدام مقتطفات التعليمات البرمجية
توفر دفاتر ملاحظات Synapse قصاصات برمجية تسهل إدخال أنماط التعليمات البرمجية شائعة الاستخدام. تتضمن هذه الأنماط تكوين جلسة Spark وقراءة البيانات ك Spark DataFrame ورسم المخططات باستخدام Matplotlib.
تظهر القصاصات البرمجية في مفاتيح الاختصار الخاصة ب IntelliSense على غرار IDE مختلطة مع اقتراحات أخرى. تتوافق محتويات القصاصات البرمجية مع لغة خلية التعليمات البرمجية. يمكنك مشاهدة القصاصات البرمجية المتوفرة عن طريق إدخال القصاصة البرمجية أو أي كلمات أساسية تظهر في عنوان القصاصة البرمجية في محرر خلية التعليمات البرمجية. على سبيل المثال، من خلال إدخال القراءة، يمكنك مشاهدة قائمة القصاصات البرمجية لقراءة البيانات من مصادر بيانات مختلفة.
تنسيق الخلايا النصية باستخدام أزرار شريط الأدوات
يمكنك استخدام أزرار التنسيق على شريط أدوات الخلية النصية لتنفيذ إجراءات Markdown الشائعة. تتضمن هذه الإجراءات جعل النص غامقا، وجعل النص مائلا، وإنشاء فقرات وعناوين من خلال قائمة منسدلة، وإدراج التعليمات البرمجية، وإدراج قائمة غير مرتبة، وإدراج قائمة مرتبة، وإدراج ارتباط تشعبي، وإدراج صورة من عنوان URL.
التراجع عن عملية خلية أو إعادة تشغيلها
لإبطال أحدث عمليات الخلايا، حدد الزر تراجع أو إعادة ، أو حدد المفتاح Z أو Shift+Z. يمكنك الآن التراجع عن ما يصل إلى 10 عمليات خلية تاريخية أو إعادة تنفيذها.
تتضمن عمليات الخلايا المدعومة ما يلي:
- إدراج خلية أو حذفها. يمكنك إبطال عمليات الحذف عن طريق تحديد تراجع. يحافظ هذا الإجراء على محتوى النص مع الخلية.
- إعادة ترتيب الخلايا.
- تشغيل خلية معلمة أو إيقاف تشغيلها.
- التحويل بين خلية تعليمات برمجية وخلية Markdown.
إشعار
لا يمكنك التراجع عن عمليات النص أو عمليات التعليق في خلية.
التعليق على خلية تعليمات برمجية
حدد الزر تعليقات على شريط أدوات دفتر الملاحظات لفتح جزء التعليقات.
حدد التعليمات البرمجية في خلية التعليمات البرمجية، وحدد جديد في جزء التعليقات، وأضف تعليقات، ثم حدد الزر نشر تعليق.
إذا لزم الأمر، يمكنك تنفيذ تحرير التعليق وحل مؤشر الترابط وحذف إجراءات مؤشر الترابط عن طريق تحديد المزيد من علامات الحذف (...) بجانب تعليقك.
نقل خلية
لنقل خلية، حدد الجانب الأيسر من الخلية واسحب الخلية إلى الموضع المطلوب.
نسخ خلية
لنسخ خلية، قم أولا بإنشاء خلية جديدة، ثم حدد النص بأكمله في الخلية الأصلية، وانسخ النص، والصق النص في الخلية الجديدة. عندما تكون الخلية في وضع التحرير، تقتصر اختصارات لوحة المفاتيح التقليدية لتحديد كل النص على الخلية.
تلميح
توفر دفاتر ملاحظات Synapse أيضا أجزاء من أنماط التعليمات البرمجية شائعة الاستخدام.
حذف خلية
لحذف خلية، حدد الزر حذف إلى يمين الخلية.
يمكنك أيضا استخدام مفاتيح الاختصار في وضع الأوامر. حدد Shift+D لحذف الخلية الحالية.
طي إدخال الخلية
لطي إدخال الخلية الحالية، حدد علامة الحذف المزيد من الأوامر (...) على شريط أدوات الخلية، ثم حدد إخفاء الإدخال. لتوسيع الإدخال، حدد إظهار الإدخال أثناء طي الخلية.
طي إخراج الخلية
لطي إخراج الخلية الحالية، حدد علامة الحذف المزيد من الأوامر (...) على شريط أدوات الخلية، ثم حدد إخفاء الإخراج. لتوسيع الإخراج، حدد إظهار الإخراج أثناء إخفاء إخراج الخلية.
استخدام مخطط تفصيلي لدفتر الملاحظات
يعرض المخطط التفصيلي (جدول المحتويات) رأس Markdown الأول لأي خلية Markdown في نافذة شريط جانبي للتنقل السريع. الشريط الجانبي للمخطط التفصيلي قابل للتغيير وقابل للطي لملاءمة الشاشة بأفضل طريقة ممكنة. لفتح الشريط الجانبي أو إخفاؤه، حدد الزر مخطط تفصيلي على شريط أوامر دفتر الملاحظات.
تشغيل دفتر ملاحظات
يمكنك تشغيل خلايا التعليمة البرمجية في دفتر ملاحظاتك بشكل فردي أو كلها مرة واحدة. تظهر حالة كل خلية وتقدمها في دفتر الملاحظات.
إشعار
لا يؤدي حذف دفتر ملاحظات إلى إلغاء أي مهام قيد التشغيل حاليا تلقائيا. إذا كنت بحاجة إلى إلغاء مهمة، فانتقل إلى مركز المراقبة وقم بإلغاءها يدويا.
تشغيل خلية
هناك طرق متعددة لتشغيل التعليمات البرمجية في خلية:
مرر مؤشر الماوس فوق الخلية التي تريد تشغيلها، ثم حدد الزر تشغيل الخلية أو حدد Ctrl+Enter.
استخدم مفاتيح الاختصار في وضع الأوامر. حدد Shift+Enter لتشغيل الخلية الحالية وحدد الخلية الموجودة أسفلها. حدد Alt+Enter لتشغيل الخلية الحالية وإدراج خلية جديدة أسفلها.
تشغيل كل الخلايا
لتشغيل كافة الخلايا في دفتر الملاحظات الحالي بالتسلسل، حدد الزر تشغيل الكل .
قم بتشغيل كل الخلايا أعلى أو أسفل
لتشغيل كافة الخلايا الموجودة أعلى الخلية الحالية بالتسلسل، قم بتوسيع القائمة المنسدلة للزر تشغيل الكل ، ثم حدد تشغيل الخلايا أعلاه. حدد تشغيل الخلايا أدناه لتشغيل كافة الخلايا الموجودة أسفل الخلية الحالية بالتسلسل.
إلغاء جميع الخلايا قيد التشغيل
لإلغاء الخلايا قيد التشغيل أو الخلايا التي تنتظر في قائمة الانتظار، حدد الزر إلغاء الكل .
الرجوع إلى دفتر ملاحظات
للإشارة إلى دفتر ملاحظات آخر ضمن سياق دفتر الملاحظات الحالي، استخدم %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). يتضمن الجدول أعمدة لاسم المتغير ونوعه وطوله وقيمته. تظهر المزيد من المتغيرات تلقائيا عند تعريفها في خلايا التعليمات البرمجية. يؤدي تحديد كل رأس عمود إلى فرز المتغيرات في الجدول.
لفتح مستكشف المتغيرات أو إخفاؤه، حدد الزر المتغيرات على شريط أوامر دفتر الملاحظات.
إشعار
يدعم مستكشف المتغيرات Python فقط.
استخدام مؤشر حالة الخلية
تظهر حالة تشغيل خلية خطوة بخطوة أسفل الخلية لمساعدتك على رؤية تقدمها الحالي. بعد انتهاء تشغيل الخلية، يظهر ملخص بإجمالي المدة ووقت الانتهاء ويبقى هناك للرجوع إليه في المستقبل.
استخدام مؤشر تقدم Spark
يستند دفتر ملاحظات Synapse إلى Spark فقط. تعمل خلايا التعليمات البرمجية على تجمع Apache Spark بلا خادم عن بعد. يساعدك مؤشر تقدم مهمة Spark مع شريط تقدم في الوقت الحقيقي على فهم حالة تشغيل الوظيفة.
يساعدك عدد المهام لكل وظيفة أو مرحلة على تحديد المستوى المتوازي لمهمة Spark. يمكنك أيضًا التعمق في واجهة مستخدم Spark لمهمة معينة (أو مرحلة) عن طريق تحديد الارتباط على اسم المهمة (أو المرحلة).
تكوين جلسة Spark
في جزء تكوين جلسة العمل، والذي يمكنك العثور عليه عن طريق تحديد أيقونة الترس في أعلى دفتر الملاحظات، يمكنك تحديد مدة المهلة وعدد المنفذين وحجم المنفذين الذين سيتم منحهم لجلسة Spark الحالية. أعد تشغيل جلسة Spark لكي تسري تغييرات التكوين. يتم مسح كل متغيرات دفتر الملاحظات المخزنة مؤقتًا.
يمكنك أيضًا إنشاء تكوين من التكوين Apache Spark أو تحديد تكوين موجود. للحصول على التفاصيل، راجع إدارة تكوين Apache Spark.
الأمر السحري لتكوين جلسة 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".
أثناء وضع تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية، يمكنك استخدام علامة التبويب الإعدادات لتكوين إعدادات نشاط دفتر ملاحظات المسار.
إذا كنت تريد تغيير تكوين جلسة العمل، يجب أن يكون اسم معلمة نشاط دفتر ملاحظات المسار هو نفسه كما هو الحال 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)
قراءة البيانات من حساب التخزين الأساسي
يمكنك الوصول إلى البيانات في حساب التخزين الأساسي مباشرة. ليس هناك حاجة لتوفير مفاتيح سرية. في مستكشف البيانات، انقر بزر الماوس الأيمن فوق ملف وحدد دفتر ملاحظات جديد لرؤية دفتر ملاحظات جديد مع مستخرج بيانات تم إنشاؤه تلقائيا.
استخدام عناصر واجهة مستخدم IPython
عناصر واجهة المستخدم هي كائنات Python ذات أحداث لها تمثيل في المستعرض، غالبا كعنصر تحكم مثل شريط تمرير أو مربع نص. تعمل عناصر واجهة مستخدم IPython فقط في بيئات Python. وهي غير مدعومة حاليا بلغات أخرى (على سبيل المثال، Scala أو SQL أو C#).
خطوات استخدام عناصر واجهة مستخدم IPython
استيراد الوحدة النمطية
ipywidgetsلاستخدام إطار عمل Jupyter Widgets:import ipywidgets as widgetsاستخدم دالة المستوى
displayالأعلى لعرض عنصر واجهة مستخدم، أو اترك تعبيرا منwidgetالنوع في السطر الأخير من خلية التعليمات البرمجية: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، ، ، ، 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)يختلف هذا السلوك عن وظيفة IPythondisplay.إذا أغلقت دفتر ملاحظات يحتوي على عنصر واجهة مستخدم IPython، فلا يمكنك عرض عنصر واجهة المستخدم أو التفاعل معه حتى تقوم بتشغيل الخلية المقابلة مرة أخرى.
احفظ دفاتر الملاحظات
يمكنك حفظ دفتر ملاحظات واحد أو كل دفاتر الملاحظات في مساحة العمل:
لحفظ التغييرات التي أجريتها على دفتر ملاحظات واحد، حدد الزر نشر على شريط أوامر دفتر الملاحظات.
لحفظ كافة دفاتر الملاحظات في مساحة العمل، حدد الزر نشر الكل على شريط أوامر مساحة العمل.
في جزء خصائص دفتر الملاحظات، يمكنك تكوين ما إذا كنت تريد تضمين إخراج الخلية عند الحفظ.
استخدام الأوامر السحرية
يمكنك استخدام أوامر 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 في دفتر ملاحظات
يمكنك العثور على سجلات 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.
دمج دفتر الملاحظات
إضافة دفتر ملاحظات إلى المسار
لإضافة دفتر ملاحظات إلى مسار موجود أو لإنشاء مسار جديد، حدد الزر إضافة إلى المسار في الزاوية العلوية اليسرى.
تعيين خلية معلمة
لتحديد معلمات دفتر الملاحظات، حدد علامة الحذف (...) للوصول إلى المزيد من الأوامر على شريط أدوات الخلية. ثم حدد تبديل خلية المعلمة لتعيين الخلية كخلية معلمة.
يبحث Azure Data Factory عن خلية المعلمة ويعامل هذه الخلية كخلية افتراضية للمعلمات التي تم تمريرها في وقت التنفيذ. يضيف محرك التنفيذ خلية جديدة أسفل خلية المعلمة مع معلمات الإدخال للكتابة فوق القيم الافتراضية.
تعيين قيم المعلمات من البنية الأساسية لبرنامج ربط العمليات التجارية
بعد إنشاء دفتر ملاحظات مع معلمات، يمكنك تشغيله من البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام نشاط دفتر ملاحظات Synapse. بعد إضافة النشاط إلى لوحة البنية الأساسية لبرنامج ربط العمليات التجارية، يمكنك تعيين قيم المعلمات في قسم المعلمات الأساسية من علامة التبويب الإعدادات .
عند تعيين قيم المعلمات، يمكنك استخدام لغة تعبير المسار أو متغيرات النظام.
استخدام مفاتيح الاختصار
على غرار أجهزة Jupyter Notebooks، تحتوي أجهزة الكمبيوتر المحمولة Synapse على واجهة مستخدم مشروطة. تقوم لوحة المفاتيح بأشياء مختلفة، استنادا إلى الوضع الذي توجد به خلية دفتر الملاحظات. تدعم دفاتر ملاحظات Synapse الوضعين التاليين لخلية التعليمات البرمجية:
وضع الأمر: تكون الخلية في وضع الأوامر عندما لا يطالبك أي مؤشر نص بالكود. عندما تكون الخلية في وضع الأوامر، يمكنك تحرير دفتر الملاحظات ككل ولكن ليس الكتابة في خلايا فردية. أدخل وضع الأوامر عن طريق تحديد مفتاح Esc أو باستخدام الماوس للتحديد خارج منطقة محرر الخلية.
وضع التحرير: عندما تكون خلية في وضع التحرير، يطالبك مؤشر النص بكتابة الخلية. أدخل وضع التحرير عن طريق تحديد مفتاح الإدخال Enter أو باستخدام الماوس لتحديد منطقة محرر الخلية.
مفاتيح الاختصار في وضع الأوامر
| الإجراء | اختصار دفتر ملاحظات 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 |