Självstudie: Visualisera dataavvikelser i realtidshändelser som skickats till Azure Event Hubs
Du kan använda Azure Stream Analytics med Azure Event Hubs för att kontrollera inkommande data och extrahera avvikelser, som du sedan kan visualisera i Power BI. Anta att du har tusentals enheter som kontinuerligt skickar data i realtid till en händelsehubb. I så fall kan det röra sig om miljontals händelser per sekund. Hur kontrollerar du om det finns avvikelser, eller fel, i sådana mängder data? Vad händer om enheterna till exempel skickar kreditkortstransaktioner och du måste registrera var du än har flera transaktioner i flera länder/regioner inom ett tidsintervall på fem sekunder? Detta kan inträffa om någon stjäl kreditkort och sedan använder dem för att köpa saker samtidigt från olika delar av världen.
I den här självstudien får du simulera det här exemplet. Du kör ett program som skapar och skickar kreditkortstransaktioner till en händelsehubb. Sedan läser du dataströmmen i realtid med Azure Stream Analytics, som separerar giltiga transaktioner från ogiltiga transaktioner och sedan använder Power BI för att visuellt identifiera de transaktioner som är märkta som ogiltiga.
I den här guiden får du lära dig att:
- Skapa ett Event Hubs-namnområde
- Skapa en händelsehubb
- Köra appen som skickar kreditkortstransaktioner
- Konfigurera ett Stream Analytics-jobb för att bearbeta de här transaktionerna
- Konfigurera en Power BI-visualisering för att visa resultatet
Förutsättningar
Innan du börjar kontrollerar du att du har slutfört följande steg:
- Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
- Skapa ett Event Hubs namnområde och en händelsehubb i namnområdet.
- Följ anvisningarna i Hämta en Event Hubs anslutningssträng. Anteckna anslutningssträngen till Event Hubs och namnet på händelsehubben.
- Installera Visual Studio. Du använder en Visual Studio för att köra en app för att skapa och skicka testhändelsedata till händelsehubben.
- Du behöver ett Power BI-konto för att kunna analysera utdata från ett Stream Analytics-jobb. Du kan prova Power BI utan kostnad.
Kör appen för att generera testhändelsedata
I Event Hubs exempel på GitHub ingår en Avvikelseidentifiering-app som skapar testdata åt dig. Appen simulerar användning av kreditkort genom att skriva kreditkortstransaktioner till händelsehubben, och ibland skrivs flera transaktioner för samma kreditkort på flera platser så att de blir märkta som avvikelser. Följ dessa steg om du vill köra den här appen:
Ladda ned Azure Event Hubs samples (Azure Event Hubs-exempel) från GitHub och packa upp filen lokalt.
Navigera till mappen \azure-event-hubs-master\samples\DotNet. \
Växla till mappen Azure.Messaging.EventHubs\AnomalyDetector \ och dubbelklicka på AnomalyDetector.sln för att öppna lösningen i Visual Studio.
Om du vill använda den gamla versionen av exemplet som använder det gamla Microsoft.Azure.EventHubs-paketet öppnar du lösningen från mappen Microsoft.Azure.EventHubs\AnomalyDetector.
Öppna Program.cs och ersätt Event Hubs-anslutningssträngen med den anslutningssträng som du sparade när du körde skriptet.
Ersätt namnet på händelsehubben med namnet på din händelsehubb. Klicka på F5 för att köra programmet. Därmed skickas händelser till din händelsehubb tills 1 000 händelser har skickats. I vissa fall måste appen köras för att du ska kunna hämta data. Dessa fall anges i följande instruktioner, där det behövs.
Konfigurera Azure Stream Analytics
Nu kan du strömma data till din händelsehubb. För att kunna använda dessa data i en Power BI-visualisering måste du först konfigurera ett Stream Analytics-jobb för att hämta data som sedan matas in i Power BI-visualiseringen.
Skapa Stream Analytics-jobbet
Klicka på Skapa en resurs i Azure Portal. Skriv stream analytics i sökrutan och tryck på Retur. Välj Stream Analytics-jobb. Klicka på Skapa i Stream Analytics-jobbfönstret.
Ange följande information för jobbet:
Jobbnamn: Använd contosoEHjob. Det här fältet är namnet på jobbet och det måste vara globalt unikt.
Prenumeration: Välj din prenumeration.
Resursgrupp: Använd samma resursgrupp som användes av din händelsehubb (ContosoResourcesEH).
Plats: Använd samma Azure-region som du använde tidigare.

För resten av fälten accepterar du standardvärdena. Klicka på Skapa.
Lägga till indata till Stream Analytics-jobbet
Om du inte är i fönstret Stream Analytics-jobb i Portal kan du gå tillbaka till ditt Stream Analytics-jobb genom att klicka på Resursgrupper i Portal och sedan välja din resursgrupp (ContosoResourcesEH). Den här åtgärden visar alla resurser i gruppen. Sedan kan du välja ditt stream analytics-jobb.
Indata för Steam Analytics-jobbet är kreditkortstransaktioner från händelsehubben.
I den vänstra menyn väljer du Indata i avsnittet Jobbtopologi.
I fönstret Indata klickar du på Lägg till strömindata och väljer Event Hubs. På skärmen som visas fyller du i följande fält:
Utdataalias: Använd contosooutputs. Det här fältet är namnet på den indataström som används vid definiering av frågan efter data.
Prenumeration: Välj din Azure-prenumeration.
Event Hubs namnområde: Välj event hub-namnområdet.
Namn på händelsehubb: Klicka på Använd befintlig och välj din händelsehubb.
Event Hubs-konsumentgrupp: Använd standardkonsumentgruppen genom att lämna det här fältet tomt.
Acceptera standardvärden för resten av fälten.

Klicka på Spara.
Lägga till utdata till Stream Analytics-jobbet
I den vänstra menyn väljer du Utdata i avsnittet Jobbtopologi. Det här fältet är namnet på den utdataström som används vid definiering av frågan efter data.
I fönstret Utdata klickar du på Lägg till och väljer Power BI. På skärmen som visas fyller du i följande fält:
Utdataalias: Använd contosooutputs. Det här fältet är utdatas unika alias.
Namn på datauppsättning: Använd contosoehdataset. Det här fältet är namnet på datauppsättningen som ska användas i Power BI.
Tabellnamn: Använd contosoehtable. Det här fältet är namnet på tabellen som ska användas i Power BI.
För resten av fälten accepterar du standardvärdena.

Klicka på Autentisera och logga in på Power BI-kontot.
För resten av fälten accepterar du standardvärdena.
Klicka på Spara.
Konfigurera frågan för Stream Analytics-jobbet
Den här frågan används för att hämta data som slutligen skickas till Power BI-visualiseringen. I frågan används contosoinputs och contosooutputs, som du tidigare definierade när du konfigurerade jobbet. Frågan hämtar de kreditkortstransaktioner som bedöms vara bedrägliga, det vill säga transaktioner där det förekommer flera transaktioner för samma kreditkortsnummer på olika platser inom fem sekunder.
Under Jobbtopologi klickar du på Fråga.
Ersätt frågan med följande fråga:
/* criteria for fraud: credit card purchases with the same card in different locations within 5 seconds */ SELECT System.Timestamp AS WindowEnd, COUNT(*) as FraudulentUses INTO contosooutputs FROM contosoinputs CS1 TIMESTAMP BY [Timestamp] JOIN contosoinputs CS2 TIMESTAMP BY [Timestamp] /* where the credit card # is the same */ ON CS1.CreditCardId = CS2.CreditCardId /* and time between the two is between 0 and 5 seconds */ AND DATEDIFF(second, CS1, CS2) BETWEEN 0 AND 5 /* where the location is different */ WHERE CS1.Location != CS2.Location GROUP BY TumblingWindow(Duration(second, 1))Klicka på Spara.
Testa frågan för Stream Analytics-jobbet
Kör appen Anomaly Detector (Avvikelseidentifiering) för att skicka data till händelsehubben medan du konfigurerar och kör testet.
I fönstret Fråga klickar du på punkterna bredvid contosoinputs-indata och väljer sedan Exempeldata från indata.
Ange att du vill ha tre minuters data, och klicka sedan OK. Vänta tills du får ett meddelande om att data har samplats.
Klicka på Test och kontrollera att du får resultat. Resultat visas i avsnittet Resultat i det nedre fönstret till höger direkt under frågan.
Stäng rutan Fråga.
Köra Stream Analytics-jobbet
I Stream Analytics-jobbet klickar du på Starta, på Nu och sedan på Starta. När jobbet startar ändras jobbstatusen från Stoppad till Körs.
Konfigurera Power BI-visualiseringarna
Kör appen Anomaly Detector (Avvikelseidentifiering) för att skicka data till händelsehubben medan du konfigurerar Power BI-visualiseringen. Du kan behöva köra appen flera gånger eftersom den bara genererar 1 000 transaktioner varje gång den körs.
Logga in på ditt Power BI-konto.
Gå till Min arbetsyta.
Klicka på Datauppsättningar.
Du bör se datauppsättningen som du angav när du skapade utdata för Stream Analytics-jobbet (contosoehdataset). Det kan ta 5–10 minuter innan datauppsättningen visas första gången.
Klicka på Instrumentpaneler, klicka på Skapa och välj sedan Instrumentpanel.

Ange namnet på instrumentpanelen och klicka sedan på Skapa. Använd Credit Card Anomalies (Kreditkortsavvikelser).

På sidan Instrumentpanel klickar du på Lägg till panel, väljer Anpassade strömmande data i avsnittet REALTIDSDATA och klickar sedan på Nästa.

Välj din datauppsättning (contosoehdataset) och klicka på Nästa.

Välj Kort som visualiseringstyp. Under Fält klickar du på Lägg till värde och väljer sedan
fraudulentuses.
Klicka på Nästa.
Ange Fraudulent uses (Bedräglig användning) som rubrik och Sum in last few minutes (Summa de senaste minuterna) som underrubrik. Klicka på Applicera. Panelen sparas på instrumentpanelen.

Viktigt
När du kör exempelprogrammet och strömmar data till händelsehubben ändras numret på den här panelen snabbt (varje sekund). Det beror på att Stream Analytics-frågan faktiskt uppdaterar värdet varje sekund. Uppdatera frågan till ett rullande fönster på 3 minuter för att se summan av de senaste minuterna.
Lägg till ytterligare en visualisering. Upprepa de första stegen igen:
- Klicka på Lägg till panel.
- Välj Anpassade strömmande data.
- Klicka på Nästa.
- Välj din datauppsättning och klicka sedan på Nästa.
Välj Linjediagram under Visualiseringstyp.
Under Axel klickar du på Lägg till värde och väljer
windowend.Under Värden klickar du på Lägg till värde och väljer
fraudulentuses.Under Tidsfönster att visa väljer du de senaste fem minuterna. Klicka på Nästa.
Ange Show fraudulent uses over time (Visa bedräglig användning över tid) som rubrik och lämna underrubriken tom. Klicka sedan på Verkställ. Du kommer tillbaka till instrumentpanelen.
Kör appen Anomaly Detector (Avvikelseidentifiering) igen för att skicka data till händelsehubben. Du kan se att panelen Fraudulent uses (Bedräglig användning) ändras när data analyseras och att data visas i linjediagrammet.

Rensa resurser
Om du vill ta bort alla resurser du har skapat tar du bort Power BI-visualiseringsdata och sedan resursgruppen. Alla resurser som ingår i gruppen tas bort om resursgruppen tas bort. I det här fallet tas händelsehubben, Event Hub-namnområdet, Stream Analytics-jobbet och själva resursgruppen bort.
Rensa resurser i Power BI-visualiseringen
Logga in på ditt Power BI-konto. Gå till Min arbetsyta. Klicka på raden med namnet på din instrumentpanel och klicka på ikonen för papperskorgen. Gå sedan till DataSets och klicka på ikonen för papperskorgen för att ta bort datauppsättningen (contosoehdataset).
Rensa resurser
Ta bort resursgruppen som innehåller alla resurser som du har skapat som en del av den här självstudien.
Nästa steg
I den här självstudiekursen lärde du dig att:
- Skapa ett Event Hubs-namnområde
- Skapa en händelsehubb
- Köra appen som simulerar händelser och skickar dem till händelsehubben
- Konfigurera ett Stream Analytics-jobb för att bearbeta händelser som skickats till hubben
- Konfigurera en Power BI-visualisering för att visa resultatet
Gå vidare till nästa artikel om du vill lära dig mer om Azure Event Hubs.