Händelser
31 mars 23 - 2 apr. 23
Den största utbildningshändelsen för Infrastruktur, Power BI och SQL. 31 mars – 2 april. Använd koden FABINSIDER för att spara 400 USD.
Anmäl dig i dagDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Den här självstudien visar hur du analyserar telefonsamtalsdata med Hjälp av Azure Stream Analytics. Telefonsamtalsdata, som genereras av ett klientprogram, innehåller bedrägliga samtal som identifieras av Stream Analytics-jobbet. Du kan använda tekniker från den här självstudien för andra typer av bedrägeriidentifiering, till exempel kreditkortsbedrägerier eller identitetsstöld.
I den här självstudien utför du följande åtgärder:
Kontrollera att du har slutfört följande steg innan du börjar:
Logga in på Azure-portalen.
Du måste skicka exempeldata till en händelsehubb innan Stream Analytics kan analysera dataströmmen för bedrägliga anrop. I den här självstudien skickar du data till Azure med hjälp av Azure Event Hubs.
Använd följande steg för att skapa en händelsehubb och skicka samtalsdata till händelsehubben:
Logga in på Azure-portalen.
Välj Alla tjänster på den vänstra menyn, välj Sakernas Internet, musen över Event Hubs och välj sedan + (Lägg till).
Följ dessa steg på sidan Skapa namnområde :
Välj en Azure-prenumeration där du vill skapa händelsehubben.
För Resursgrupp väljer du Skapa ny och anger ett namn för resursgruppen. Event Hubs-namnområdet skapas i den här resursgruppen.
Som Namnområdesnamn anger du ett unikt namn för Event Hubs-namnområdet.
För Plats väljer du den region där du vill skapa namnområdet.
Som Prisnivå väljer du Standard.
Välj Granska + skapa längst ned på sidan.
På sidan Granska + skapa i guiden skapa namnområde väljer du Skapa längst ned på sidan när du har granskat alla inställningar.
När namnområdet har distribuerats väljer du Gå till resurs för att navigera till sidan Event Hubs-namnområde .
På sidan Event Hubs-namnområde väljer du +Händelsehubb i kommandofältet.
På sidan Skapa händelsehubb anger du ett namn för händelsehubben. Ange partitionsantalet till 2. Använd standardalternativen i de återstående inställningarna och välj Granska + skapa.
På sidan Granska + skapa väljer du Skapa längst ned på sidan. Vänta sedan tills distributionen är klar.
Innan ett program kan skicka data till Azure Event Hubs måste händelsehubben ha en princip som tillåter åtkomst. Åtkomstprincipen producerar en anslutningssträng som inkluderar auktoriseringsinformation.
På sidan Event Hubs-namnområde väljer du Principer för delad åtkomst på den vänstra menyn.
Välj RootManageSharedAccessKey i listan med principer.
Välj sedan kopieringsknappen bredvid Anslutningssträng – primärnyckel.
Klistra in anslutningssträngen i en textredigerare. Du behöver den här anslutningssträngen i nästa avsnitt.
Anslutningssträngen ser ut så här:
Endpoint=sb://<Your event hub namespace>.servicebus.windows.net/;SharedAccessKeyName=<Your shared access policy name>;SharedAccessKey=<generated key>
Observera att anslutningssträng innehåller flera nyckel/värde-par avgränsade med semikolon: Slutpunkt, SharedAccessKeyName och SharedAccessKey.
Innan du startar appen TelcoGenerator ska du konfigurera den så att den skickar data till de Azure Event Hubs du skapade tidigare.
Extrahera innehållet i filen TelcoGenerator.zip.
TelcoGenerator\TelcoGenerator\telcodatagen.exe.config
Öppna filen i valfri textredigerare Det finns fler än en .config
fil, så se till att du öppnar rätt fil.
Uppdatera elementet <appSettings>
i config-filen med följande information:
EntityPath
värdet (;EntityPath=myeventhub
) i slutet.
Glöm inte att ta bort semikolonet som föregår EntityPath-värdet.Spara filen.
Öppna sedan ett kommandofönster och växla till den mapp där du packade upp programmet TelcoGenerator. Ange sedan följande kommando:
.\telcodatagen.exe 1000 0.2 2
Kommandot stöder följande parametrar:
Efter några sekunder börjar appen visa telefonsamtalsposter på skärmen och skickar dem till en händelsehubb. Telefonsamtalsdata innehåller följande fält:
Post | Definition |
---|---|
CallrecTime | Tidsstämpeln för samtalets starttid. |
SwitchNum | Telefonväxeln används för att ansluta samtalet. I det här exemplet är växlarna strängar som representerar ursprungslandet/ursprungsregionen (USA, Kina, Storbritannien, Tyskland eller Australien). |
CallingNum | Uppringarens telefonnummer. |
CallingIMSI | International Mobile Subscriber Identity (IMSI). Det är en unik identifierare för uppringaren. |
CalledNum | Telefonnumret till mottagaren. |
CalledIMSI | International Mobile Subscriber Identity (IMSI). Det är en unik identifierare för mottagaren. |
Nu nr du har en ström av anropshändelser kan du skapa ett Stream Analytics-jobb som läser data från händelsehubben.
För Prenumeration väljer du den prenumeration som innehåller Event Hubs-namnområdet.
För Resursgrupp väljer du den resursgrupp som du skapade tidigare.
I avsnittet Instansinformation anger du ett unikt namn för Stream Analytics-jobbet.
För Region väljer du den region där du vill skapa Stream Analytics-jobbet. Vi rekommenderar att du placerar jobbet och händelsehubben i samma region för bästa prestanda och så att du inte betalar för att överföra data mellan regioner.
För Värdmiljö< väljer du Moln om det inte redan har valts. Stream Analytics-jobb kan distribueras till molnet eller edge. Med Molnet kan du distribuera till Azure Cloud, och Med Edge kan du distribuera till en IoT Edge-enhet.
För Enheter för direktuppspelning väljer du 1. Strömningsenheter representerar de bearbetningsresurser som krävs för att köra ett jobb. Standardvärdet är inställt på 1. Mer information om skalning av strömningsenheter finns i artikeln om att förstå och justera strömningsenheter.
Välj Granska + skapa längst ned på sidan.
Nästa steg är att definiera en indatakälla som jobbet använder för att läsa data med hjälp av den händelsehubb som du skapade i föregående avsnitt.
På sidan Stream Analytics-jobb går du till avsnittet Jobbtopologi på den vänstra menyn och väljer Indata.
På sidan Indata väljer du + Lägg till indata och Händelsehubb.
Följ dessa steg på sidan Händelsehubb :
För Indataalias anger du CallStream. Indataalias är ett eget namn för att identifiera dina indata. Indataalias får bara innehålla alfanumeriska tecken och bindestreck och måste vara 3–63 tecken långt.
För Prenumeration väljer du den Azure-prenumeration där du skapade händelsehubben. Händelsehubben kan finnas i samma eller en annan prenumeration som Stream Analytics-jobbet.
För Event Hubs-namnområde väljer du det Event Hubs-namnområde som du skapade i föregående avsnitt. Alla namnområden som är tillgängliga i din aktuella prenumeration visas i listrutan.
Som Händelsehubbnamn väljer du den händelsehubb som du skapade i föregående avsnitt. Alla händelsehubbar som är tillgängliga i det valda namnområdet visas i listrutan.
För händelsehubbens konsumentgrupp väljer du alternativet Skapa ny så att en ny konsumentgrupp skapas på händelsehubben. Vi rekommenderar att du använder en distinkt konsumentgrupp för varje Stream Analytics-jobb. Om ingen konsumentgrupp anges använder $Default
Stream Analytics-jobbet konsumentgruppen. När ett jobb innehåller en självkoppling eller har flera indata kan vissa indata senare läsas av mer än en läsare. Den här situationen påverkar antalet läsare i en enskild konsumentgrupp.
För Autentiseringsläge väljer du Anslutningssträng. Det är enklare att testa självstudien med det här alternativet.
Som Namn på händelsehubbprincip väljer du Använd befintlig och sedan den princip som du skapade tidigare.
Välj Spara längst ned på sidan.
Det sista steget är att definiera en utdatamottagare där jobbet kan skriva transformerade data. I den här självstudien matar du ut och visualiserar data med Power BI.
Från Azure Portal öppnar du Alla resurser och väljer ASATutorial Stream Analytics-jobbet.
I avsnittet Jobbtopologi i Stream Analytics-jobbet väljer du alternativet Utdata .
Välj + Lägg till utdata>Power BI.
Fyll i utdataformuläret med följande information:
Inställning | Föreslaget värde |
---|---|
Utdataalias | MyPBIoutput |
Grupparbetsyta | Min arbetsyta |
Namn på datauppsättning | ASAdataset |
Tabellnamn | ASATable |
Autentiseringsläge | Användartoken |
Välj Auktorisera och följ anvisningarna för att autentisera Power BI.
Välj Spara längst ned på Power BI-sidan.
I den här självstudien används autentiseringsläget för användartoken . Information om hur du använder hanterad identitet finns i Använda hanterad identitet för att autentisera ditt Azure Stream Analytics-jobb till Power BI.
Nu har du konfigurerat ett Stream Analytics-jobb för att läsa en inkommande dataström. Nästa steg är att skapa en fråga som analyserar data i realtid. Frågorna använder ett SQL-liknande språk som har vissa tillägg som är specifika för Stream Analytics.
I det här avsnittet av självstudien skapar och testar du flera frågor för att lära dig några olika sätt att transformera en indataström för analys.
Frågorna som du skapar här visar bara transformerade data på skärmen. I ett senare avsnitt skriver du transformerade data till Power BI.
Mer information om språket finns i frågespråksreferensen för Azure Stream Analytics.
Om du vill arkivera varje händelse kan du använda en direktfråga för att läsa alla fält i nyttolasten för händelsen.
Gå till Stream Analytics-jobbet i Azure Portal och välj Fråga under Jobbtopologi på den vänstra menyn.
I frågefönstret anger du den här frågan:
SELECT
*
FROM
CallStream
Anteckning
Precis som med SQL är nyckelord inte skiftlägeskänsliga och blanksteget är inte betydande.
I den här frågan CallStream
är det alias som du angav när du skapade indata. Om du använde ett annat alias använder du det namnet i stället.
Välj Testfråga.
Stream Analytics-jobbet kör frågan mot exempeldata från indata och visar utdata längst ned i fönstret. Resultatet visar att Event Hubs och Streaming Analytics-jobbet är korrekt konfigurerade.
Det exakta antalet poster som visas beror på hur många poster som har avbildats i exemplet.
I många fall behöver analysen inte alla kolumner från indataströmmen. Du kan använda en fråga för att projicera en mindre uppsättning returnerade fält än i direktfrågan.
Kör följande fråga och lägg märke till utdata.
SELECT CallRecTime, SwitchNum, CallingIMSI, CallingNum, CalledNum
INTO
[MyPBIoutput]
FROM
CallStream
Anta att du vill räkna antalet inkommande samtal per region. När du vill utföra aggregerade funktioner som att räkna i strömmande data måste du segmentera strömmen i temporala enheter, eftersom själva dataströmmen i praktiken är oändlig. Du gör detta med hjälp av en fönsterfunktion för Streaming Analytics. Du kan sedan arbeta med data i fönstret som en enhet.
För den här omvandlingen vill du ha en sekvens med temporala fönster som inte överlappar varandra – varje fönster har en diskret uppsättning data som du kan gruppera och aggregera. Den här typen av fönster kallas för ett rullande fönster. I fönstret Rullande kan du få ett antal inkommande anrop grupperade efter SwitchNum
, som representerar det land/den region där anropet kom.
Klistra in följande fråga i frågeredigeraren:
SELECT
System.Timestamp as WindowEnd, SwitchNum, COUNT(*) as CallCount
FROM
CallStream TIMESTAMP BY CallRecTime
GROUP BY TUMBLINGWINDOW(s, 5), SwitchNum
Den här frågan använder nyckelordet Timestamp By
FROM
i -satsen för att ange vilket tidsstämpelfält i indataströmmen som ska användas för att definiera rullande fönster. I det här fallet delar fönstret upp data i segment efter CallRecTime
fältet i varje post. (Om inget fält anges använder fönsteråtgärden den tid då varje händelse kommer till händelsehubben. Se "Ankomsttid jämfört med programtid" i Referens för Stream Analytics-frågespråk.
Projektionen innehåller System.Timestamp
, som returnerar en tidsstämpel för slutet av varje fönster.
Om du vill ange att du vill använda ett rullande fönster använder du funktionen TUMBLINGWINDOW i GROUP BY
-satsen. I funktionen anger du en tidsenhet (var som helst från en mikrosekunder till en dag) och en fönsterstorlek (hur många enheter). I det här exemplet består rullande fönstret av 5 sekunders intervall, så du får ett antal efter land/region för anrop till ett värde av 5 sekunder.
Välj Testfråga. Observera i resultatet att tidsstämplarna under WindowEnd är i steg om 5 sekunder.
I det här exemplet bör du betrakta bedräglig användning som anrop som kommer från samma användare men på olika platser inom 5 sekunder från varandra. Samma användare kan till exempel inte legitimt ringa ett samtal från USA och Australien samtidigt.
Om du vill söka efter dessa fall kan du använda en självkoppling av strömmande data för att ansluta dataströmmen till sig själv baserat på CallRecTime
värdet. Du kan sedan söka efter anropsposter där CallingIMSI
värdet (ursprungsnumret) är detsamma, men SwitchNum
värdet (ursprungsland/ursprungsregion) inte är detsamma.
När du använder en koppling med strömmande data måste kopplingen ange vissa gränser för hur långt matchande rader kan avgränsas i tid. Som tidigare nämnts är strömmande data i praktiken oändliga. Tidsintervallen för relationen anges i ON
satsen för kopplingen med hjälp DATEDIFF
av funktionen . I det här fallet baseras kopplingen på ett 5-sekunders intervall med samtalsdata.
Klistra in följande fråga i frågeredigeraren:
SELECT System.Timestamp AS WindowEnd, COUNT(*) AS FraudulentCalls
INTO "MyPBIoutput"
FROM "CallStream" CS1 TIMESTAMP BY CallRecTime
JOIN "CallStream" CS2 TIMESTAMP BY CallRecTime
ON CS1.CallingIMSI = CS2.CallingIMSI
AND DATEDIFF(ss, CS1, CS2) BETWEEN 1 AND 5
WHERE CS1.SwitchNum != CS2.SwitchNum
GROUP BY TumblingWindow(Duration(second, 1))
Den här frågan liknar alla SQL-kopplingar förutom DATEDIFF
funktionen i kopplingen. Den här versionen av DATEDIFF
är specifik för Streaming Analytics och måste visas i ON...BETWEEN
-satsen. Parametrarna är en tidsenhet (sekunder i det här exemplet) och aliasen för de två källorna för kopplingen. Den här funktionen skiljer sig från sql-standardfunktionen DATEDIFF
.
Satsen WHERE
innehåller villkoret som flaggar det bedrägliga anropet: de ursprungliga växlarna är inte desamma.
Välj Testfråga. Granska utdata och välj sedan Spara fråga.
Starta jobbet genom att gå till jobbet Översikt och välja Start.
Välj Nu som starttid för jobbutdata och välj Start. Du kan se dess status i meddelandefältet.
När jobbet är klart går du till Power BI och loggar in med ditt arbets- eller skolkonto. Om Stream Analytics-jobbfrågan genererar resultat finns den ASAdataset-datamängd som du skapade under fliken Datamängder.
Från din Power BI-arbetsyta väljer du + Skapa för att skapa en new instrumentpanel med namnet Fraudulent Calls (Bedrägliga samtal).
Längst upp i fönstret väljer du Redigera och Lägg till panel.
I fönstret Lägg till panel väljer du Anpassade strömmande data och Nästa.
Välj ASAdataset under Dina datauppsättningar och välj Nästa.
Välj Kort i listrutan Visualiseringstyp , lägg till bedrägliga anrop till Fält och välj sedan Nästa.
Ange ett namn på panelen (till exempel Bedrägliga anrop) och välj sedan Använd för att skapa panelen.
Följ steg 5, med följande alternativ:
Instrumentpanelen bör se ut som i följande exempel när båda panelerna har lagts till. Observera att om ditt event hub-avsändarprogram och Streaming Analytics-program körs uppdateras Power BI-instrumentpanelen regelbundet när nya data kommer.
I den här delen av självstudien använder du ett exempel ASP.NET webbprogram som skapats av Power BI-teamet för att bädda in instrumentpanelen. Mer information om att bädda in instrumentpaneler finns i artikeln inbäddning med Power BI.
Om du vill konfigurera programmet går du till GitHub-lagringsplatsen Power BI-Developer-Samples och följer anvisningarna i avsnittet Användarägda data (använd url:erna för omdirigering och startsida under underavsnittet integrate-web-app ). Eftersom vi använder exemplet instrumentpanel använder du exempelkoden integrate-web-app som finns på GitHub-lagringsplatsen. När programmet körs i webbläsaren följer du dessa steg för att bädda in instrumentpanelen som du skapade tidigare på webbsidan:
Välj Logga in på Power BI, vilket ger programmet åtkomst till instrumentpanelerna i ditt Power BI-konto.
Välj knappen Hämta instrumentpaneler som visar kontots instrumentpaneler i en tabell. Leta reda på namnet på instrumentpanelen du skapade tidigare powerbi-embedded-dashboard och kopiera motsvarande EmbedUrl.
Slutligen ska du klistra in EmbedUrl i motsvarande textfält och välja Bädda in instrumentpanel. Nu kan du visa samma instrumentpanel inbäddad i ett webbprogram.
I den här självstudien skapade du ett enkelt Stream Analytics-jobb, analyserade inkommande data och presenterade resultatet på en Power BI-instrumentpanel. Om du vill veta mer om Stream Analytics-jobb kan du fortsätta till nästa självstudie:
Händelser
31 mars 23 - 2 apr. 23
Den största utbildningshändelsen för Infrastruktur, Power BI och SQL. 31 mars – 2 april. Använd koden FABINSIDER för att spara 400 USD.
Anmäl dig i dagUtbildning
Modul
Visualisera realtidsdata med Azure Stream Analytics och Power BI - Training
Genom att kombinera dataströmbearbetningsfunktionerna i Azure Stream Analytics och funktionerna för datavisualisering i Microsoft Power BI kan du skapa instrumentpaneler för realtidsdata.
Certifiering
Microsoft-certifierad: Power BI-dataanalytikerassociate - Certifications
Demonstrera metoder och metodtips som överensstämmer med affärs- och tekniska krav för modellering, visualisering och analys av data med Microsoft Power BI.
Dokumentation
Använd ingen kodredigerare för att beräkna aggregeringar och skriva till Azure Synapse Analytics och skapa realtidsinstrumentpaneler med Power BI.
Utdata från Azure Stream Analytics - Azure Stream Analytics
I den här artikeln beskrivs tillgängliga datautdataalternativ för Azure Stream Analytics.
Samla in Event Hubs-data till ADLS i parquet-format - Azure Stream Analytics
Visar hur du använder Stream Analytics utan kodredigerare för att skapa ett jobb som samlar in Event Hubs-data till Azure Data Lake Storage Gen2 i parquet-format.