توسيع نطاق وظيفة Stream Analytics باستخدام وظائف استوديو التعلم الآلي من Microsoft Azure (الكلاسيكية)

تلميح

يوصى بشدة باستخدام التعلم الآلي UDFs بدلاً من Machine Learning Studio (الإصدار classic) UDF لتحسين الأداء والموثوقية.

هام

سينتهي دعم Azure التعلم الآلي Studio (الكلاسيكي) في 31 أغسطس 2024. نوصي بالانتقال إلى Azure التعلم الآلي بحلول ذلك التاريخ.

اعتبارا من 1 ديسمبر 2021، لا يمكنك إنشاء موارد جديدة التعلم الآلي Studio (كلاسيكي) (مساحة العمل وخطة خدمة الويب). حتى 31 أغسطس 2024، يمكنك الاستمرار في استخدام تجارب التعلم الآلي Studio (الكلاسيكية) وخدمات الويب الحالية. لمزيد من المعلومات، راجع:

يتم إيقاف وثائق التعلم الآلي Studio (الكلاسيكي) وقد لا يتم تحديثها في المستقبل.

تتناول هذه المقالة كيفية توسيع نطاق وظائف Azure Stream Analytics بكفاءة التي تستخدم وظائف استوديو التعلم الآلي من Microsoft Azure (الكلاسيكية). للحصول على معلومات حول كيفية توسيع نطاق وظائف Stream Analytics بشكل عام، راجع مقال تغيير حجم المهام.

ما هي وظيفة Studio (الكلاسيكية) في Stream Analytics؟

يمكن استخدام وظيفة استوديو التعلم الآلي من Microsoft Azure (الكلاسيكية) في Stream Analytics مثل استدعاء دالة عادية في لغة استعلام Stream Analytics. خلف الكواليس، ومع ذلك، فإن استدعاءات الوظائف هذه هي في الواقع طلبات خدمة ويب Studio (الكلاسيكية).

يمكنك تحسين معدل نقل طلبات خدمة الويب Studio (الكلاسيكية) عن طريق "تجميع" صفوف متعددة معاً في نفس استدعاء واجهة برمجة تطبيقات خدمة الويب. يسمى هذا التجميع دفعة صغيرة. لمزيد من المعلومات، راجع خدمات ويب استوديو التعلم الآلي من Microsoft Azure (الكلاسيكية). دعم لاستوديو (كلاسيكي) في Stream Analytics.

تكوين وظيفة Stream Analytics باستخدام وظائف استوديو (الكلاسيكية)

هناك معلمتان لتكوين الدالة Studio (الكلاسيكية) المستخدمة من قبل وظيفة Stream Analytics:

  • حجم الدفعة لاستدعاء الدالة Studio (الكلاسيكية).
  • عدد وحدات البث (SUs) المتوفرة لوظيفة Stream Analytics.

لتحديد القيم المناسبة لـ SUs، حدد ما إذا كنت ترغب في تحسين زمن الانتقال لوظيفة Stream Analytics أو معدل نقل كل وحدة SU. يمكن دائماً إضافة وحدات SUs إلى وظيفة لزيادة معدل نقل استعلام Stream Analytics مقسم بشكل جيد. تزيد وحدات SUs الإضافية من تكلفة تشغيل الوظيفة.

حدد التسامح مع زمن الانتقال لمهمة Stream Analytics. ستؤدي زيادة حجم الدفعة إلى زيادة زمن انتقال طلبات Studio (الكلاسيكية) وزمن الانتقال لوظيفة Stream Analytics.

تسمح زيادة حجم الدفعة لوظيفة Stream Analytics بمعالجة المزيد من الأحداثبنفس عدد طلبات خدمة الويب Studio (الكلاسيكية). عادة ما تكون زيادة زمن انتقال خدمة الويب Studio (الكلاسيكية) خطاً فرعياً لزيادة حجم الدفعة.

من المهم مراعاة حجم الدفعة الأكثر كفاءة من حيث التكلفة لخدمة الويب Studio (الكلاسيكية) في أي موقف معين. حجم الدفعة الافتراضي لطلبات خدمة الويب هو 1000. يمكنك تغيير هذا الحجم الافتراضي باستخدام Stream Analytics REST API أو عميل PowerShell ل Stream Analytics.

بمجرد اتخاذ قرار بشأن حجم الدفعة، يمكنك تعيين عدد وحدات الدفق (SUs)، استناداً إلى عدد الأحداث التي تحتاج الدالة إلى معالجتها في الثانية. لمزيد من المعلومات حول وحدات البث، راجع وظائف مقياس Stream Analytics.

تحصل كل 6 وحدات SUs على 20 اتصالاً متزامناً بخدمة الويب Studio (الكلاسيكية). ومع ذلك، تحصل مهمة SU واحدة و3 مهام SU على 20 اتصالاً متزامناً.

إذا كان التطبيق الخاص بك ينشئ 200000 حدث في الثانية، وكان حجم الدفعة 1000، فإن زمن انتقال خدمة الويب الناتج هو 200 مللي ثانية. يعني هذا المعدل أن كل اتصال يمكنه تقديم خمسة طلبات إلى خدمة الويب Studio (الكلاسيكية) كل ثانية. باستخدام 20 اتصالاً، يمكن لوظيفة Stream Analytics معالجة 20000 حدث في 200 مللي ثانية و100000 حدث في الثانية.

لمعالجة 200,000 حدث في الثانية، تحتاج مهمة Stream Analytics إلى 40 اتصالاً متزامناً، والتي تصل إلى 12 وحدة SUs. يوضح الرسم البياني التالي الطلبات من وظيفة Stream Analytics إلى نقطة نهاية خدمة الويب Studio (الكلاسيكية) - كل 6 SUs لديها 20 اتصالاً متزامناً بخدمة الويب Studio (الكلاسيكية) كحد أقصى.

Scale Stream Analytics with Studio (classic) Functions two job example

بشكل عام، B لحجم الدفعة، L لزمن انتقال خدمة الويب بحجم الدفعة B بالمللي ثانية، معدل نقل وظيفة Stream Analytics مع N SUs هو:

Scale Stream Analytics with Studio (classic) Functions Formula

يمكنك أيضاً تكوين "الحد الأقصى للمكالمات المتزامنة" على خدمة الويب Studio (الكلاسيكية). يوصى بتعيين هذه المعلمة إلى القيمة القصوى (200 حالياً).

لمزيد من المعلومات حول هذا الإعداد، راجع مقالة تغيير الحجم لـ Machine Learning Studio (الكلاسيكي) Web Services.

مثال - إجراء تحليل التوجه

يتضمن المثال التالي وظيفة Stream Analytics مع وظيفة تحليل التوجه Studio (الكلاسيكي)، كما هو موضح في البرنامج التعليمي لتكامل Stream Analytics Machine Learning Studio (الكلاسيكي).

الاستعلام هو استعلام بسيط مقسم بالكامل متبوعاً بوظيفة التوجه، كما هو موضح في المثال التالي:

    WITH subquery AS (
        SELECT text, sentiment(text) as result from input
    )

    Select text, result.[Score]
    Into output
    From subquery

دعونا نفحص التكوين الضروري لإنشاء وظيفة Stream Analytics، والتي تقوم بتحليل التوجه للتغريدات بمعدل 10000 تغريدة في الثانية.

باستخدام 1 SU، هل يمكن لمهمة Stream Analytics هذه معالجة نسبة استخدام الشبكة؟ يمكن للمهمة مواكبة الإدخال باستخدام حجم الدفعة الافتراضي 1000. لا ينشئ زمن الانتقال الافتراضي لخدمة الويب Studio (الكلاسيكية) لتحليل التوجه (بحجم دفعة افتراضي 1000) أكثر من ثانية من زمن الانتقال.

عادة ما يكون زمن الانتقال الكلي أو الشامل لمهمة Stream Analytics بضع ثوان. ألق نظرة أكثر تفصيلاً على وظيفة Stream Analytics هذه، خاصة استدعاءات الدالة Studio (الكلاسيكية). مع حجم دفعة من 1000، يأخذ معدل النقل من 10000 حدث حوالي 10 طلبات إلى خدمة الويب. حتى مع SU واحد، هناك اتصالات متزامنة كافية لاستيعاب نسبة استخدام شبكة الإدخال هذه.

إذا زاد معدل حدث الإدخال بمقدار 100x، فستحتاج مهمة Stream Analytics إلى معالجة 1000000 تغريدة في الثانية. هناك خياران لإنجاز المقياس المتزايد:

  1. زيادة حجم الدفعة.
  2. تقسيم دفق الإدخال لمعالجة الأحداث بالتوازي.

مع الخيار الأول، يزيد زمن انتقال المهمة.

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

لنلق نظرة على التحجيم باستخدام قياسات زمن الانتقال التالية لكل حجم دفعة:

زمن الانتقال حجم الدفعة
< 200 مللي ثانية دفعات 1000 حدث أو أقل
250 ms دفعات 5000 حدث
300 مللي ثانية دفعات 10,000 حدث
500 ملّي ثانية دفعات 25,000 حدث
  1. استخدام الخيار الأول (عدم توفير المزيد من وحدات SUs). يمكن زيادة حجم الدفعة إلى 25000. ستسمح زيادة حجم الدُفعة بهذه الطريقة للمهمة بمعالجة 1000000 حدث مع 20 اتصالاً متزامناً بخدمة الويب Studio (الكلاسيكية) (مع زمن انتقال يبلغ 500 مللي ثانية لكل مكالمة). لذلك سيتم زيادة زمن الانتقال الإضافي لوظيفة Stream Analytics بسبب طلبات وظيفة التوجه مقابل طلبات خدمة الويب Studio (الكلاسيكية) من 200 مللي ثانية إلى 500 مللي ثانية. ومع ذلك، لا يمكن زيادة حجم الدفعة بشكل لا نهائي لأن خدمات الويب Studio (الكلاسيكية) تتطلب أن يكون حجم حمولة الطلب 4 ميجابايت أو أصغر، ومهلة طلبات خدمة الويب بعد 100 ثانية من التشغيل.
  2. باستخدام الخيار الثاني، يتم ترك حجم الدُفعة عند 1000، مع زمن انتقال لخدمة الويب 200 مللي ثانية، كل 20 اتصالاً متزامناً بخدمة الويب ستكون قادرة على معالجة 1000 * 20 * 5 حدث = 100000 في الثانية. لذلك لمعالجة 1,000,000 حدث في الثانية، ستحتاج الوظيفة إلى 60 SUs. بالمقارنة مع الخيار الأول، فإن وظيفة Stream Analytics ستقدم المزيد من طلبات دفعة خدمة الويب، ما يؤدي بدوره إلى زيادة التكلفة.

فيما يلي جدول لمعدل نقل مهمة Stream Analytics لمختلف وحدات SUs وأحجام الدفعات (في عدد الأحداث في الثانية).

حجم الدفعة (زمن انتقال التعلم الآلي) 500 (200 مللي ثانية) 1000 (200 مللي ثانية) 5000 (250 مللي ثانية) 10000 (300 مللي ثانية) 25,000 (500 مللي ثانية)
وحدة خاصة واحدة 2,500 5,000 20,000 30,000 50,000
3 وحدات SUs 2,500 5,000 20,000 30,000 50,000
6 وحدات SUs 2,500 5,000 20,000 30,000 50,000
12 وحدة SUs 5,000 10,000 40,000 60,000 100,000
18 وحدة SUs 7,500 15,000 60,000 90,000 150,000
24 وحدة SUs 10,000 20,000 80,000 120,000 200,000
... ... ... ... ... ...
60 وحدة SUs 25,000 50,000 200,000 300,000 500,000

الآن، يجب أن يكون لديك بالفعل فهم جيد لكيفية عمل Studio (الكلاسيكي) في Stream Analytics. من المحتمل أيضاً أن تفهم أن وظائف Stream Analytics "تسحب" البيانات من مصادر البيانات ويعيد كل "سحب" دفعة من الأحداث لمهمة Stream Analytics لمعالجتها. كيف يؤثر نموذج السحب هذا على طلبات خدمة الويب Studio (الكلاسيكية)؟

في العادة، لن يكون حجم الدُفعة الذي حددناه لوظائف Studio (الكلاسيكية) قابلاً للقسمة بالضبط على عدد الأحداث التي يتم إرجاعها بواسطة "سحب" كل وظيفة Stream Analytics. عند حدوث ذلك، يتم استدعاء خدمة الويب Studio (الكلاسيكية) مع دفعات "جزئية". يؤدي استخدام دفعات جزئية إلى تجنب تكبد حمل إضافي لزمن انتقال الوظيفة في دمج الأحداث من السحب إلى السحب.

في منطقة المراقبة لوظيفة Stream Analytics، تمت إضافة ثلاثة مقاييس إضافية متعلقة بالوظيفة. وهي طلبات الدوال وأحداث الدالة وطلبات الدالات الفاشلة، كما هو موضح في الرسم أدناه.

Scale Stream Analytics with Studio (classic) Functions Metrics

يتم تعريفها على النحو التالي:

طلبات الدالة: عدد طلبات الدالة.

أحداث الدالة: أحداث الأرقام في طلبات الدالة.

طلبات الدالة الفاشلة: عدد طلبات الدالة الفاشلة.

الفوائد الرئيسية

لتوسيع نطاق وظيفة Stream Analytics باستخدام وظائف Studio (الكلاسيكية)، ضع في اعتبارك العوامل التالية:

  1. معدل حدث الإدخال.
  2. زمن الانتقال المسموح به لوظيفة Stream Analytics قيد التشغيل (وبالتالي حجم الدفعة لطلبات خدمة الويب Studio) (الكلاسيكية).
  3. وحدات Stream Analytics SUs المتوفرة وعدد طلبات خدمة الويب Studio (الكلاسيكية) (التكاليف الإضافية المتعلقة بالوظائف).

تم استخدام استعلام Stream Analytics مقسم بالكامل كمثال. إذا كانت هناك حاجة إلى استعلام أكثر تعقيدا، فإن صفحة سؤال Microsoft Q&A ل Azure Stream Analytics هي مورد رائع للحصول على مساعدة إضافية من فريق Stream Analytics.

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

لكي تتعرف على المزيد حول Stream Analytics، اطلع على: