فهم معالجة الأحداث
Azure Stream Analytics هي خدمة لمعالجة الأحداث المعقدة وتحليل البيانات المتدفقة. يستخدم Stream Analytics ل:
- استيعاب البيانات من إدخال، مثل مركز أحداث Azure أو Azure IoT Hub أو حاوية كائن ثنائي كبير الحجم ل Azure Storage.
- معالجة البيانات باستخدام استعلام لتحديد قيم البيانات وإسقاطها وتجميعها.
- اكتب النتائج إلى مخرجات، مثل Azure Data Lake Storage Gen2، Azure SQL Database، Azure Cosmos DB، Azure Functions، Azure Event Hubs، Microsoft Power BI، أو غيرها.
بمجرد البدء، سيتم تشغيل استعلام Stream Analytics بشكل دائم، ومعالجة البيانات الجديدة عند وصولها إلى الإدخال وتخزين النتائج في الإخراج.
يضمن Stream Analytics معالجة الأحداث مرة واحدة بالضبط وتسليم الحدث مرة واحدة على الأقل ، لذلك لا تفقد الأحداث أبدا. يحتوي على قدرات استرداد مضمنة في حالة فشل تسليم حدث. كما يوفر Stream Analytics نقاط تفتيش مضمنة للحفاظ على حالة وظيفتك وينتج نتائج قابلة للتكرار. نظرا لأن Azure Stream Analytics هو حل النظام الأساسي كخدمة (PaaS)، فهو مدار بالكامل وموثوق به للغاية. تكامله المدمج مع مصادر ووجهات مختلفة ويوفر نموذجا مرنا للبرمجة. يتيح محرك Stream Analytics الحوسبة في الذاكرة، لذلك يوفر أداء عاليا.
وظائف ومجموعات Azure Stream Analytics
أسهل طريقة لاستخدام Azure Stream Analytics هي إنشاء وظيفة Stream Analytics في اشتراك Azure وتكوين الإدخالات والإخراجات الخاصة به وتحديد الاستعلام الذي ستستخدمه الوظيفة لمعالجة البيانات. يتم التعبير عن الاستعلام باستخدام بناء جملة لغة الاستعلام المنظمة (SQL)، ويمكن أن يتضمن بيانات مرجعية ثابتة من مصادر بيانات متعددة لتوفير قيم البحث التي يمكن دمجها مع البيانات المتدفقة التي تم استيعابها من الإدخال.
إذا كانت متطلبات عملية التدفق معقدة أو تستهلك مواردا، يمكنك إنشاء مجموعة تحليل التدفق، تستخدم نفس محرك المعالجة الأساسي المستخدم في وظيفة تحليلات التدفق، ولكن في مستأجر مخصص (حتى لا تتأثر معالجتك بعملاء آخرين) ومع قابلية التوسع القابلة للتكوين تمكنك من تحديد التوازن الصحيح بين معدل النقل والتكلفة لسيناريوك المحدد.
المدخلات
يمكن ل Azure Stream Analytics استيعاب البيانات من أنواع الإدخال التالية:
- مراكز أحداث Azure
- Azure IoT Hub
- تخزين Azure Blob
- Azure Data Lake Storage Gen2
- Apache Kafka
تستخدم المدخلات بشكل عام للإشارة إلى مصدر بيانات الدفق، والذي تتم معالجته عند إضافة سجلات أحداث جديدة. بالإضافة إلى ذلك، يمكنك تعريف مدخلات مرجعية تستخدم لاستيعاب البيانات الثابتة لتعزيز بيانات تدفق الأحداث في الوقت الحقيقي. على سبيل المثال، يمكنك استيعاب دفق من بيانات مراقبة الطقس في الوقت الحقيقي التي تتضمن معرفا فريدا لكل محطة طقس، وزيادة تلك البيانات مع إدخال مرجع ثابت يطابق معرف محطة الطقس باسم أكثر معنى.
المخرجات
المخرجات هي الوجهات التي يتم إرسال نتائج معالجة الدفق إليها. يدعم Azure Stream Analytics مجموعة واسعة من مصارف الإخراج، والتي يمكن استخدامها ل:
- استمر النتائج لمزيد من التحليل؛ على سبيل المثال، عن طريق الكتابة إلى Azure Data Lake Storage Gen2 أو Azure SQL Database أو Azure Cosmos DB.
- تحليل بيانات السجل والقياس عن بعد على نطاق واسع؛ على سبيل المثال، عن طريق إرسال النتائج إلى Azure Data Explorer.
- عرض صورة فورية لتدفق البيانات؛ على سبيل المثال، عن طريق إضافة البيانات إلى مجموعة بيانات في Microsoft Power BI.
- توليد أحداث مصفاة أو ملخصة للمعالجة لاحقا؛ على سبيل المثال، عن طريق كتابة النتائج إلى Azure Event Hubs.
الاستعلامات
يتم تغليف منطق معالجة الدفق في استعلام. يتم تعريف الاستعلامات باستخدام عبارات SQL التي تحدد حقول بيانات من إدخال واحد أو أكثر، وتصفية البيانات أو تجميعها، وكتابة النتائج في إخراج. على سبيل المثال، يقوم الاستعلام التالي بتصفية الأحداث من إدخال أحداث الطقس لتضمين البيانات فقط من الأحداث ذات قيمة درجة حرارة أقل من 0، ويكتب النتائج إلى إخراج درجات الحرارة الباردة :
SELECT observation_time, weather_station, temperature
INTO cold-temps
FROM weather-events TIMESTAMP BY observation_time
WHERE temperature < 0
يتم إنشاء حقل يسمى EventProcessedUtcTime تلقائيا لتحديد الوقت الذي تتم فيه معالجة الحدث بواسطة استعلام Azure Stream Analytics. يمكنك استخدام هذا الحقل لتحديد الطابع الزمني للحدث، أو يمكنك تحديد حقل DateTime آخر بشكل صريح باستخدام عبارة TIMESTAMP BY ، كما هو موضح في هذا المثال. اعتمادا على الإدخال الذي تتم قراءة البيانات المتدفقة منه، قد يتم إنشاء حقل طابع زمني محتمل واحد أو أكثر تلقائيا؛ على سبيل المثال، عند استخدام إدخال مراكز الأحداث ، يتم إنشاء حقل يسمى EventQueuedUtcTime لتسجيل الوقت الذي تم فيه تلقي الحدث في قائمة انتظار مركز الحدث.
يعد الحقل المستخدم كطوابع زمنية مهما عند تجميع البيانات عبر النوافذ الزمنية، والتي تتم مناقشتها بعد ذلك.
محرر بدون كود
إذا كنت تفضل بناء وظيفة معالجة التدفق دون كتابة SQL، فإن Azure Stream Analytics يتضمن محررا بدون كود. يمكنك الوصول إليه من خلال بوابة Azure Stream Analytics أو بوابة Azure Event Hubs. يوفر محرر بدون كود لوحة سحب وإفلات حيث تربط مصادر الإدخال، وتضيف تحويلات (بما في ذلك النوافذ والتجميعات)، وتهيئة المخرجات دون الحاجة لكتابة أي شيفرة.
يمكنك استخدام محرر بدون كود للنمذجة بسرعة، ثم يمكنك عرض أو تخصيص استعلام SQL المولد للسيناريوهات المتقدمة بشكل اختياري.