مشاركة عبر


استخدم بيانات المراجع للبحث في تحليلات التدفق

البيانات المرجعية هي مجموعة بيانات محدودة ثابتة أو تتغير بطبيعتها. يستخدم لإجراء بحث أو لتعزيز تدفقات بياناتك. تعرف بيانات المرجع أيضا باسم جدول البحث.

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

يقوم Azure Stream Analytics بتحميل بيانات المراجع في الذاكرة لتحقيق معالجة تدفق منخفضة التأخير. للاستفادة من بيانات المراجع في وظيفتك في تحليلات التدفق، ستستخدم عادة نقطة ربط بيانات المراجع في استفسارك.

مثال

يمكنك أن تحصل على تدفق أحداث فوري يتم توليدها عندما تمر السيارات بمنطقة تحصيل الرسوم. يمكن لمركز الرسوم التقاط لوحات السيارات في الوقت الحقيقي. يمكن لتلك البيانات أن تنضم إلى مجموعة بيانات ثابتة تحتوي على تفاصيل تسجيل لتحديد لوحات السيارات التي انتهت صلاحيتها.

SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId  
FROM Input1 I1 TIMESTAMP BY EntryTime  
JOIN Registration R  
ON I1.LicensePlate = R.LicensePlate  
WHERE R.Expired = '1'

يدعم Stream Analytics Azure Blob Storage وAzure Data Lake Storage Gen2 وAzure SQL Database كطبقة تخزين للبيانات المرجعية. إذا كان لديك بيانات مرجعية في مخازن بيانات أخرى، حاول استخدام Azure Data Factory لاستخراج وتحويل وتحميل البيانات إلى أحد مخازن البيانات المدعومة. لمزيد من المعلومات، راجع نظرة عامة على نشاط النسخ في Azure Data Factory.

Azure Blob Storage أو Azure Data Lake Storage Gen 2

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

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

تكوين بيانات مرجعية blob

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

اسم الخاصية Description
اسم الإدخال المستعار اسم ودود استخدم في استعلام الوظيفة للإشارة إلى هذا المدخل.
حساب التخزين اسم حساب التخزين الذي توجد فيه الكتل الخاصة بك. إذا كان في نفس اشتراك وظيفة تحليلات البث الخاصة بك، اختره من القائمة المنسدلة.
مفتاح حساب التخزين المفتاح السري المرتبط بحساب التخزين. يتم ملء هذا المفتاح تلقائيا إذا كان حساب التخزين في نفس اشتراك وظيفة تحليلات التدفق الخاصة بك.
حاوية التخزين توفر الحاويات تجميعا منطقيا للكتل المخزنة في تخزين الكتل. عند رفع كتلة إلى تخزين البلوب، يجب عليك تحديد حاوية لذلك البلوب.
نمط المسار تستخدم هذه الخاصية المطلوبة لتحديد مواقع الكتل داخل الحاوية المحددة. داخل المسار، يمكنك اختيار تحديد نسخة أو أكثر من المتغيرين {date} و {time}.
مثال 1: المنتجات /{تاريخ}/{الوقت}/product-list.csv
المثال 2: الproduct/{date}/product-list.csv
المثال 3: product-list.csv

إذا لم تكن الكتلة موجودة في المسار المحدد، تنتظر وظيفة تحليلات التدفق إلى أجل غير مسمى حتى تصبح الكتلة متاحة.
تنسيق التاريخ [اختياري] إذا استخدمت {date} ضمن نمط المسار الذي حددته، اختر تنسيق التاريخ الذي يتم تنظيم الكتل فيه من قائمة الصيغ المدعومة المنسدلة.
مثال: YYYY/MM/DD أو MM/DD/YYYY
تنسيق الوقت [اختياري] إذا استخدمت {time} ضمن نمط المسار الذي حددته، اختر تنسيق الوقت الذي يتم تنظيم الكتل فيه من قائمة الصيغ المدعومة المنسدلة.
مثال: HH، HH/mm، أو HH-مم
صيغة تسلسل الأحداث للتأكد من أن استفساراتك تعمل كما تتوقع، تحتاج تحليلات التدفق إلى معرفة أي صيغة تسلسل تستخدمها لتدفقات البيانات الواردة. للبيانات المرجعية، الصيغ المدعومة هي CSV وJSON.
الترميز UTF-8 هو الصيغة الوحيدة المدعومة للترميز في الوقت الحالي.

بيانات مرجعية ثابتة

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

Stream Analytics يلتقط الكتلة من المسار المحدد. رموز الاستبدال {date} و {time} ليست مطلوبة. نظرا لأن بيانات المرجع غير قابلة للتغيير في تحليلات التدفق، فإن استبدال كتلة بيانات مرجعية ثابتة لا ينصح بها.

توليد بيانات مرجعية على جدول زمني

قد تكون بيانات مرجعك مجموعة بيانات تتغير ببطء. لتحديث بيانات المرجع، حدد نمط مسار في تكوين الإدخال باستخدام رموز الاستبدال {date} و {time}. تلتقط Stream Analytics تعريفات بيانات المراجع المحدثة بناء على نمط هذا المسار.

على سبيل المثال، نمط بتنسيق sample/{date}/{time}/products.csv تاريخ YYYY-MM-DD وتنسيق وقت HH-mm يوجه Stream Analytics لالتقاط الكتلة sample/2015-04-16/17-30/products.csv المحدثة في 16 أبريل 2015، الساعة 5:30 مساء بتوقيت UTC.

تقوم Stream Analytics تلقائيا بمسح كتل البيانات المرجعية المحدثة بفاصل دقيقة. قد يتم رفع كتلة تحمل طابع زمني 10:30:00 بتأخير بسيط، على سبيل المثال، 10:30:30. تلاحظ تأخيرا بسيطا في وظيفة تحليلات التدفق التي تشير إلى هذه الكتلة المعقدة.

لتجنب مثل هذه السيناريوهات، قم بتحميل الكتلة قبل الوقت الفعال المستهدف، وهو 10:30:00 في هذا المثال. وظيفة تحليلات التدفق الآن لديها وقت كاف لاكتشاف وتحميل الكتلة في الذاكرة وأداء العمليات.

إشعار

حاليا، وظائف تحليلات التدفق تبحث عن تحديث الكتلة فقط عندما يتقدم وقت الجهاز إلى الوقت المشفر في اسم البلوب. على سبيل المثال، الوظيفة تبحث في sample/2015-04-16/17-30/products.csv أقرب وقت ممكن ولكن ليس قبل 16 أبريل 2015، الساعة 5:30 مساء بتوقيت UTC. لن يبحث أبدا عن كتلة ذات زمن مشفر قبل آخر نقطة تم اكتشافها.

على سبيل المثال، بعد أن تجد الوظيفة الكتلة (blob sample/2015-04-16/17-30/products.csv)، تتجاهل أي ملفات بتاريخ مشفر قبل 16 أبريل 2015، الساعة 5:30 مساء. إذا تم إنشاء كتلة تصل متأخرة sample/2015-04-16/17-25/products.csv في نفس الحاوية، فلن تستخدمها الوظيفة.

في مثال آخر، sample/2015-04-16/17-30/products.csv تم إنتاجه فقط في 16 أبريل 2015، الساعة 10:03 مساء، لكن لا توجد كتلة ذات تاريخ أقدم في الحاوية. ثم تستخدم الوظيفة هذا الملف بدءا من 16 أبريل 2015 الساعة 10:03 مساء وتستخدم بيانات المرجع السابقة حتى ذلك الحين.

الاستثناء لهذا السلوك هو عندما تحتاج الوظيفة إلى إعادة معالجة البيانات في الزمن أو عند بدء المهمة لأول مرة.

عند وقت البدء، تبحث الوظيفة عن أحدث كتلة تم إنتاجها قبل وقت بدء العمل المحدد. هذا السلوك يضمن وجود مجموعة بيانات مرجعية غير فارغة عند بدء المهمة. إذا لم يتم العثور على أي واحد، تعرض الوظيفة التشخيص التالي: Initializing input without a valid reference data blob for UTC time <start time>.

عند تحديث مجموعة بيانات مرجعية، يتم إنشاء سجل تشخيصي: Loaded new reference data from <blob path>. لأسباب عديدة، قد تحتاج الوظيفة إلى إعادة تحميل مجموعة بيانات مرجعية سابقة. غالبا ما يكون السبب هو إعادة معالجة البيانات السابقة. يتم إنشاء نفس سجل التشخيص في ذلك الوقت. هذا الإجراء لا يعني أن بيانات التدفق الحالية تستخدم بيانات مرجعية سابقة.

يمكن استخدام Azure Data Factory لتنظيم مهمة إنشاء الكتل المحدثة المطلوبة من Stream Analytics لتحديث تعريفات بيانات المرجع.

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

لمزيد من المعلومات حول كيفية إعداد خط أنابيب Data Factory لإنشاء بيانات مرجعية ل Stream Analytics التي يتم تحديثها وفق جدول محدد مسبقا، راجع هذه العينة على GitHub.

نصائح لتحديث بيانات مرجع الكتلة

  • لا تقم باستبدال كتل البيانات المرجعية لأنها غير قابلة للتغيير.
  • الطريقة الموصى بها لتحديث بيانات المراجع هي:
    • استخدم {date}/{time} في نمط المسار.
    • أضف كتلة جديدة باستخدام نفس الحاوية ونمط المسار المعرف في إدخال المهمة.
    • استخدم تاريخ/وقت أكبر من الذي حدده آخر كتلة في التسلسل.
  • كتل البيانات المرجعية لا يتم ترتيبها حسب آخر وقت تعديل للكتلة. يتم ترتيبها فقط حسب التاريخ والوقت المحددين في اسم الكتلة باستخدام استبدالات {date} و {time}.
  • لتجنب الحاجة إلى إدراج عدد كبير من الكتل، احذف الكتل القديمة التي لن يتم معالجتها بعد الآن. قد تضطر تحليلات التدفق إلى إعادة معالجة كمية صغيرة في بعض السيناريوهات، مثل إعادة التشغيل.

قاعدة بيانات Azure SQL

وظيفتك في تحليلات التدفق تسترجع بيانات مرجعية قاعدة بيانات SQL وتخزنها كلقطة في الذاكرة للمعالجة. كما يتم تخزين لقطة بيانات المرجع في حاوية داخل حساب تخزين. تحدد حساب التخزين في إعدادات التكوين.

يتم إنشاء الحاوية تلقائيا عند بدء المهمة. إذا توقفت المهمة أو دخلت حالة فشل، يتم حذف الحاويات التي تم إنشاؤها تلقائيا عند إعادة بدء الوظيفة.

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

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

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

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

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

تكوين بيانات مرجعية قاعدة بيانات SQL

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

يمكنك استخدام Azure SQL Managed Instance كمدخل بيانات مرجعية. يجب عليك تكوين نقطة نهاية عامة في SQL Managed Instance. ثم تقوم بتكوين الإعدادات التالية يدويا في Stream Analytics. يدعم أيضا جهاز Azure الافتراضي الذي يعمل SQL Server مع قاعدة بيانات مرفقة من خلال تكوين هذه الإعدادات يدويا.

اسم الخاصية Description
اسم الإدخال المستعار اسم ودود استخدم في استعلام الوظيفة للإشارة إلى هذا المدخل.
الاشتراك اشتراكك.
قاعدة البيانات نسخة قاعدة بيانات SQL التي تحتوي على بيانات المرجع الخاصة بك. بالنسبة ل SQL Managed Instance، يجب تحديد المنفذ 3342. مثال على ذلك sampleserver.public.database.windows.net,3342 .
اسم مستخدم اسم المستخدم المرتبط بمثيل قاعدة بيانات SQL الخاص بك.
كلمة المرور كلمة المرور المرتبطة بمثيل قاعدة بيانات SQL الخاص بك.
تحديث التحديثات بشكل دوري يتيح لك هذا الخيار اختيار معدل تحديث. اختر On لتحديد معدل التحديث في DD:HH:MM.
استعلام Snapshot يقوم خيار الاستعلام الافتراضي هذا باسترجاع بيانات المرجع من مثيل قاعدة بيانات SQL الخاص بك.
استعلام دلتا للسيناريوهات المتقدمة ذات مجموعات بيانات كبيرة ومعدل تحديث قصير، أضف استعلام دلتا.

حد الحجم

استخدم مجموعات بيانات مرجعية أقل من 300 ميجابايت لتحقيق أفضل أداء. مجموعات البيانات المرجعية 5 جيجابايت أو أقل مدعومة في الوظائف التي تحتوي على ست وحدات بث أو أكثر. استخدام مجموعة بيانات مرجعية كبيرة قد يؤثر على زمن الاستجابة الكامل لعملك.

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

إذا لم تستطع Stream Analytics تحميل بيانات المرجع وأداء العمليات المعقدة، تنفد الذاكرة في المهمة وتفشل. في مثل هذه الحالات، يصل مقياس نسبة استخدام وحدة البث إلى 100%.

عدد وحدات البث الحجم الموصى به
1 50 ميجابايت أو أقل
3 150 ميجابايت أو أقل
6 وما بعده 5 جيجابايت أو أقل

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

انضم إلى مجموعات بيانات مرجعية متعددة في وظيفة

يمكنك فقط ربط مدخل بيانات مرجعية بمدخل بث. لذلك، لربط مجموعات بيانات مرجعية متعددة، قسم استعلامك إلى عدة خطوات. إليك مثال:

With Step1 as (
    --JOIN input stream with reference data to get 'Desc'
    SELECT streamInput.*, refData1.Desc as Desc
    FROM    streamInput
    JOIN    refData1 ON refData1.key = streamInput.key 
)
--Now Join Step1 with second reference data
SELECT *
INTO    output 
FROM    Step1
JOIN    refData2 ON refData2.Desc = Step1.Desc 

وظائف إنترنت الأشياء على حافة

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

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

يتم تفعيل بيانات المرجع في تحديث إنترنت الأشياء Edge بواسطة نشر. بعد تفعيله، تقوم وحدة تحليلات التدفق باختيار البيانات المحدثة دون إيقاف المهمة الجارية.

يمكنك تحديث بيانات المراجع بطريقتين:

  • قم بتحديث مسار البيانات المرجعية في وظيفتك في تحليلات التدفق من بوابة Azure.
  • قم بتحديث نشر إنترنت الأشياء.

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