Stream Analytics وPower BI: لوحة معلومات تحليلات في الوقت الفعلي لدفق البيانات

يتيح لك Azure Stream Analytics الاستفادة من إحدى أدوات ذكاء الأعمال الرائدة، Microsoft Power BI. في هذه المقالة، ستتعرف على كيفية إنشاء أدوات ذكاء الأعمال باستخدام Power BI كمخرج لمهام Azure Stream Analytics. ستتعرف أيضا على كيفية إنشاء واستخدام لوحة معلومات في الوقت الفعلي يتم تحديثها باستمرار بواسطة وظيفة Stream Analytics.

تستمر هذه المقالة من البرنامج التعليمي للكشف عن الاحتيال في الوقت الفعلي ل Stream Analytics. يعتمد على سير العمل الذي تم إنشاؤه في هذا البرنامج التعليمي ويضيف إخراج Power BI بحيث يمكنك تصور المكالمات الهاتفية الاحتيالية التي يتم اكتشافها بواسطة وظيفة Streaming Analytics.

يمكنك مشاهدة فيديو يوضح هذا السيناريو.

المتطلبات الأساسية

قبل البدء، تأكد من أن لديك ما يلي:

  • حساب Azure.
  • حساب Power BI Pro. يمكنك استخدام حساب عمل أو حساب مؤسسة تعليمية.
  • نسخة مكتملة من البرنامج التعليمي للكشف عن الاحتيال في الوقت الفعلي . يتضمن البرنامج التعليمي تطبيقا يولد بيانات وصفية وهمية لمكالمات الهاتف. في البرنامج التعليمي، يمكنك إنشاء مركز أحداث وإرسال بيانات المكالمات الهاتفية المتدفقة إلى مركز الأحداث. تكتب استعلاما يكتشف المكالمات الاحتيالية (مكالمات من نفس الرقم في نفس الوقت في مواقع مختلفة).

إضافة إخراج Power BI

في البرنامج التعليمي للكشف عن الاحتيال في الوقت الفعلي، يتم إرسال الإخراج إلى وحدة تخزين Azure Blob. في هذا القسم، يمكنك إضافة إخراج يرسل معلومات إلى Power BI.

  1. في مدخل Azure، افتح وظيفة Streaming Analytics التي أنشأتها مسبقا. إذا استخدمت الاسم المقترح، تسمية sa_frauddetection_job_demoالمهمة.

  2. في القائمة اليمنى، حدد المخرجات ضمن طوبولوجيا المهمة. ثم حدد + إضافة واختر Power BI من القائمة المنسدلة.

  3. حدد ⁧⁩+ Add⁧⁩⁧>⁩⁧⁩Power BI⁧⁩. ثم املأ النموذج بالتفاصيل التالية وحدد تفويض لاستخدام هوية المستخدم الخاصة بك للاتصال ب Power BI (الرمز المميز صالح لمدة 90 يوما).

ملاحظة

بالنسبة لمهام الإنتاج، نوصي بالاتصال لاستخدام الهوية المدارة لمصادقة مهمة Azure Stream Analytics إلى Power BI.

الإعداد القيمة المقترحة
اسم مستعار للإخراج CallStream-PowerBI
اسم مجموعة البيانات sa-dataset
اسم الجدول المكالمات الاحتيالية

Configure Stream Analytics output

تحذير

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

  1. عند تحديد تفويض، يتم فتح نافذة منبثقة وسيطلب منك تقديم بيانات اعتماد للمصادقة على حساب Power BI الخاص بك. بمجرد نجاح التفويض، احفظ الإعدادات.

  2. انقر فوق Create.

يتم إنشاء مجموعة البيانات باستخدام الإعدادات التالية:

  • defaultRetentionPolicy: BasicFIFO - البيانات هي FIFO ، بحد أقصى 200000 صف.
  • defaultMode: مختلط - تدعم مجموعة البيانات كلا من لوحات البث (المعروفة أيضا باسم الدفع) والمرئيات التقليدية المستندة إلى التقرير. بالنسبة لمحتوى الدفع، يتم تحديث البيانات باستمرار من مهمة تحليلات الدفق في هذه الحالة، دون الحاجة إلى جدولة التحديث من جانب Power BI.

حاليا، لا يمكنك إنشاء مجموعات بيانات باستخدام علامات أخرى.

لمزيد من المعلومات حول مجموعات بيانات Power BI، راجع مرجع Power BI REST API .

كتابة الاستعلام

  1. أغلق شفرة المخرجات وعد إلى شفرة المهمة.

  2. انقر فوق المربع استعلام .

  3. أدخل الاستعلام التالي. يشبه هذا الاستعلام استعلام الانضمام الذاتي الذي أنشأته في البرنامج التعليمي للكشف عن الاحتيال. الفرق هو أن هذا الاستعلام يرسل النتائج إلى الإخراج الجديد الذي قمت بإنشائه (CallStream-PowerBI).

    ملاحظة

    إذا لم تقم بتسمية الإدخال CallStream في البرنامج التعليمي للكشف عن الاحتيال، فاستبدل اسمك CallStream ب في البندين FROMوJOIN في الاستعلام.

    /* Our criteria for fraud:
    Calls made from the same caller to two phone switches in different locations (for example, Australia and Europe) within five seconds */
    
    SELECT System.Timestamp AS WindowEnd, COUNT(*) AS FraudulentCalls
    INTO "CallStream-PowerBI"
    FROM "CallStream" CS1 TIMESTAMP BY CallRecTime
    JOIN "CallStream" CS2 TIMESTAMP BY CallRecTime
    
    /* Where the caller is the same, as indicated by IMSI (International Mobile Subscriber Identity) */
    ON CS1.CallingIMSI = CS2.CallingIMSI
    
    /* ...and date between CS1 and CS2 is between one and five seconds */
    AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5
    
    /* Where the switch location is different */
    WHERE CS1.SwitchNum != CS2.SwitchNum
    GROUP BY TumblingWindow(Duration(second, 1))
    
  4. انقر فوق Save.

قم باختبار الاستعلام

هذا القسم اختياري، ولكنه موصى به.

  1. إذا لم يكن تطبيق TelcoStreaming قيد التشغيل حاليا، فابدأ تشغيله باتباع الخطوات التالية:

    • افتح موجه الأوامر.

    • انتقل إلى المجلد حيث توجد ملفات telcogenerator.exe telcodatagen.exe.config وتعديلها.

    • تشغيل الأمر التالي:

      telcodatagen.exe 1000 .2 2

  2. في صفحة الاستعلام عن مهمة Stream Analytics، انقر فوق النقاط الموجودة بجوار الإدخال، ثم حدد نموذج بيانات من الإدخالCallStream.

  3. حدد أنك تريد بيانات لمدة ثلاث دقائق وانقر فوق موافق. انتظر حتى يتم إعلامك بأنه تم أخذ عينات من البيانات.

  4. انقر فوق اختبار وراجع النتائج.

تشغيل المهمة

  1. تأكد من تشغيل تطبيق TelcoStreaming.

  2. انتقل إلى صفحة نظرة عامة لمهمة Stream Analytics وحدد ابدأ.

    Start the Stream Analytics job

تبدأ مهمة Streaming Analytics في البحث عن مكالمات احتيالية في البث الوارد. تقوم المهمة أيضا بإنشاء مجموعة البيانات والجدول في Power BI وتبدأ في إرسال بيانات حول المكالمات الاحتيالية إليهما.

إنشاء لوحة المعلومات في Power BI

  1. انتقل إلى Powerbi.com وسجل الدخول باستخدام حساب العمل أو المؤسسة التعليمية. إذا كان استعلام مهمة Stream Analytics ينتج نتائجه، فسترى أن مجموعة البيانات قد تم إنشاؤها بالفعل:

    Streaming dataset location in Power BI

  2. في مساحة العمل، انقر فوق + إنشاء.

    The Create button in Power BI workspace

  3. إنشاء لوحة معلومات جديدة وتسميتها Fraudulent Calls.

    Create a dashboard and give it a name in Power BI workspace

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

    Custom streaming dataset tile in Power BI

  5. ضمن مجموعات DATSETS الخاصة بك، حدد مجموعة البيانات الخاصة بك ثم انقر فوق التالي.

    Your streaming dataset in Power BI

  6. ضمن نوع المرئيات، حدد بطاقة، ثم في القائمة الحقول، حددالمكالمات الاحتيالية.

    Visualization details for new tile

  7. انقر فوق التالي.

  8. املأ تفاصيل اللوحة مثل العنوان والترجمة.

    Title and subtitle for new tile

  9. انقر فوق تطبيق.

    الآن لديك عداد الاحتيال!

    Fraud counter in Power BI dashboard

  10. اتبع الخطوات مرة أخرى لإضافة لوحة (بدءا من الخطوة 4). هذه المرة، قم بما يلي:

    • عندما تصل إلى نوع المرئيات، حدد مخطط خطي.

    • أضف محور، وحدد ⁧⁩windowend⁧⁩.

    • أضف قيمة، وحدد ⁧⁩fraudulentcalls⁧⁩.

    • بالنسبة لـ ⁧⁩Time window to display⁧⁩، حدد آخر 10 دقائق.

      Create tile for line chart in Power BI

  11. انقر فوق التالي، وأضف عنوانا وعنوانا فرعيا، ثم انقر فوق تطبيق.

    تمنحك لوحة معلومات Power BI الآن طريقتي عرض للبيانات المتعلقة بالمكالمات الاحتيالية كما تم اكتشافها في بيانات الدفق.

    Finished Power BI dashboard showing two tiles for fraudulent calls

تعرف على القيود وأفضل الممارسات

حاليا، يمكن استدعاء Power BI مرة واحدة تقريبا في الثانية. يدعم بث المرئيات الحزم بحجم 15 كيلوبايت. أبعد من ذلك ، تفشل المرئيات المتدفقة (لكن الدفع يستمر في العمل). وبسبب هذه القيود، فإن Power BI يفسح المجال بشكل طبيعي للحالات التي يقوم فيها Azure Stream Analytics بتخفيض كبير في حمل البيانات. نوصي باستخدام نافذة التعثر أو نافذة التنقل للتأكد من أن دفع البيانات يكون دفعة واحدة على الأكثر في الثانية، وأن الاستعلام يقع ضمن متطلبات الإنتاجية.

يمكنك استخدام المعادلة التالية لحساب القيمة لإعطاء النافذة في ثوان:

Equation to compute value to give window in seconds

على سبيل المثال:

  • لديك 1000 جهاز يرسل البيانات على فترات زمنية مدتها ثانية واحدة.
  • أنت تستخدم SKU Power BI Pro الذي يدعم 1,000,000 صف في الساعة.
  • تريد نشر متوسط كمية البيانات لكل جهاز إلى Power BI.

ونتيجة لذلك، تصبح المعادلة:

Equation based on example criteria

بالنظر إلى هذا التكوين، يمكنك تغيير الاستعلام الأصلي إلى ما يلي:

    SELECT
        MAX(hmdt) AS hmdt,
        MAX(temp) AS temp,
        System.TimeStamp AS time,
        dspl
    INTO "CallStream-PowerBI"
    FROM
        Input TIMESTAMP BY time
    GROUP BY
        TUMBLINGWINDOW(ss,4),
        dspl

تجديد التفويض

إذا تغيرت كلمة المرور منذ إنشاء وظيفتك أو آخر مصادقة عليها، فستحتاج إلى إعادة مصادقة حسابك في Power BI. إذا تم تكوين مصادقة Azure AD متعددة العوامل على مستأجر Azure Active Directory (Azure AD)، فستحتاج أيضا إلى تجديد تفويض Power BI كل أسبوعين. إذا لم تقم بالتجديد، فقد تظهر عليك أعراض مثل نقص مخرجات الوظائف أو Authenticate user error في سجلات العملية.

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

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

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