Megosztás a következőn keresztül:


Közösségimédia-elemzés az Azure Stream Analyticsszel

Ez a cikk bemutatja, hogyan hozhat létre közösségimédia-hangulatelemzési megoldást úgy, hogy valós idejű Twitter-eseményeket hoz létre az Azure Event Hubsban, majd elemezheti őket a Stream Analytics használatával. Azure Stream Analytics-lekérdezést kell írnia az adatok elemzéséhez és az eredmények későbbi használatra való tárolásához, vagy power BI-irányítópult létrehozása, amely valós idejű elemzéseket biztosít.

A közösségimédia-elemzési eszközök segítenek a szervezeteknek megérteni a trendeket. A trendi témák olyan témák és attitűdök, amelyek nagy mennyiségű bejegyzést a közösségi médiában. A véleményelemzés, amelyet véleménybányászatnak is neveznek, közösségimédia-elemzési eszközökkel határozza meg a termékhez vagy ötlethez való hozzáállást.

A Twitter valós idejű trendelemzése kiváló példa egy elemzési eszközre, mivel a hashtag-előfizetési modell lehetővé teszi bizonyos kulcsszavak (hashtagek) meghallgatását és a hírcsatorna hangulatelemzésének fejlesztését.

Forgatókönyv: Közösségimédia-hangulatelemzés valós időben

Egy híroldalt tartalmazó vállalat a versenytársakkal szemben előnyre szeretne szert tenni azáltal, hogy olyan webhelytartalmakat mutat be, amelyek azonnal relevánsak az olvasók számára. A vállalat a Twitter-adatok valós idejű hangulatelemzésével közösségimédia-elemzést használ az olvasók számára releváns témákban.

Ahhoz, hogy a twitteren valós időben lehessen azonosítani a trendeket, a vállalatnak valós idejű elemzésre van szüksége a tweetek mennyiségéről és a fontos témakörök hangulatáról.

Előfeltételek

Ebben az útmutatóban egy olyan ügyfélalkalmazást használ, amely csatlakozik a Twitterhez, és olyan tweeteket keres, amelyek bizonyos hashtagekkel rendelkeznek (amelyeket beállíthat). Az alábbi lista előfeltételeket biztosít az alkalmazás futtatásához és a tweetek Elemzéséhez az Azure Streaming Analytics használatával.

Itt találja a implementálni kívánt megoldásarchitektúrát.

A diagram showing different pieces of services and applications used to build the solution.

Eseményközpont létrehozása streambemenethez

A mintaalkalmazás eseményeket hoz létre, és leküldi őket egy eseményközpontba. Az Azure Event Hubs a Stream Analytics által előnyben részesített eseménybetöltési módszer. További információkért tekintse meg az Azure Event Hubs dokumentációját.

Event Hubs-névtér és eseményközpont létrehozása

Kövesse a rövid útmutató utasításait: Eseményközpont létrehozása az Azure Portallal egy Event Hubs-névtér és egy socialtwitter-eh nevű eseményközpont létrehozásához. Más nevet is használhat. Ha igen, jegyezze fel, mert később szüksége lesz a névre. Nem kell más beállításokat megadnia az eseményközponthoz.

Hozzáférés biztosítása az eseményközponthoz

Ahhoz, hogy egy folyamat adatokat küldjön egy eseményközpontnak, az eseményközpontnak olyan szabályzatra van szüksége, amely lehetővé teszi a hozzáférést. A hozzáférési szabályzat egy kapcsolati sztringet hoz létre, amelyben megtalálhatók az engedélyezési információk.

  1. Az Event Hubs-névtér bal oldalán található navigációs sávon válassza az Entitások szakaszban található Event Hubs lehetőséget. Ezután válassza ki az imént létrehozott eseményközpontot.

  2. A bal oldali navigációs sávon válassza a Gépház alatt található megosztott hozzáférési szabályzatokat.

    Feljegyzés

    A névtérhez és az eseményközponthoz van egy közös hozzáférésű hozzáférési szabályzat lehetőség. Győződjön meg arról, hogy az eseményközpont környezetében dolgozik, nem a névtérben.

  3. A Megosztott hozzáférési szabályzatok lapon válassza a + Hozzáadás lehetőséget a parancssávon. Ezután írja be a socialtwitter-access nevet a Szabályzat nevére , és jelölje be a Kezelés jelölőnégyzetet.

  4. Válassza a Létrehozás lehetőséget.

  5. A szabályzat üzembe helyezése után válassza ki a szabályzatot a megosztott hozzáférési szabályzatok listájából.

  6. Keresse meg a Csatlakozás ion sztring elsődlegeskulcsa feliratú mezőt, és válassza a másolás gombot a kapcsolati sztring mellett.

  7. Illessze be a kapcsolati sztringet egy szövegszerkesztőbe. Néhány kisebb módosítás után szüksége lesz erre a kapcsolati sztring a következő szakaszra.

A kapcsolati sztring a következőképpen néz ki:

Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialtwitter-eh

Figyelje meg, hogy a kapcsolati sztring több kulcs-érték párból áll, pontosvesszővel elválasztva: Endpoint, SharedAccessKeyName, SharedAccessKeyés EntityPath.

Feljegyzés

A biztonság érdekében a példában szereplő kapcsolati sztring egyes részei el lettek távolítva.

A Twitter-ügyfélalkalmazás konfigurálása és indítása

Az ügyfélalkalmazás közvetlenül a Twitterről kapja le a tweetes eseményeket. Ehhez engedélyre van szüksége a Twitter Streaming API-k meghívásához. Az engedély konfigurálásához létre kell hoznia egy alkalmazást a Twitteren, amely egyedi hitelesítő adatokat (például OAuth-jogkivonatot) hoz létre. Ezután konfigurálhatja az ügyfélalkalmazást úgy, hogy ezeket a hitelesítő adatokat használja API-hívások esetén.

Twitter-alkalmazás létrehozása

Ha még nem rendelkezik Twitter-alkalmazással, amelyet ehhez az útmutatóhoz használhat, létrehozhat egyet. Már rendelkeznie kell Twitter-fiókkal.

Feljegyzés

Megváltozhat az alkalmazás létrehozásának és a kulcsok, titkos kódok és jogkivonatok beszerzésének pontos folyamata a Twitteren. Ha ezek az utasítások nem felelnek meg a Twitter-webhelyen látható utasításoknak, tekintse meg a Twitter fejlesztői dokumentációját.

  1. Egy webböngészőben nyissa meg a Twitter for Developers alkalmazást, hozzon létre egy fejlesztői fiókot, és válassza az Alkalmazás létrehozása lehetőséget. Előfordulhat, hogy megjelenik egy üzenet, amely szerint twitteres fejlesztői fiókra kell jelentkeznie. Ezt nyugodtan megteheti, és miután az alkalmazást jóváhagyták, megerősítő e-mailt kell látnia. Egy fejlesztői fiók jóváhagyása több napot is igénybe vehet.

    Screenshot shows the Create an app button.

  2. Az Alkalmazás létrehozása oldalon adja meg az új alkalmazás adatait, majd válassza a Twitter-alkalmazás létrehozása parancsot.

    Screenshot shows the App details pane where you can enter values for your app.

  3. Az alkalmazásoldalon válassza a Kulcsok és jogkivonatok lapot, és másolja ki a Consumer API-kulcs és a Consumer API titkos kulcs értékeit. A hozzáférési jogkivonatok létrehozásához válassza a Létrehozás lehetőséget a Hozzáférési jogkivonat és a Hozzáférési jogkivonat titkos kódja területen. Másolja a Hozzáférési token és a Hozzáférési token titkos kulcsa mező értékeit.

    Mentse a Twitter-alkalmazáshoz lekért értékeket. Később szüksége lesz az értékekre.

Feljegyzés

A Twitter-alkalmazás kulcsai és titkos kódjai hozzáférést biztosítanak a Twitter-fiókjához. Kezelje ezeket az információkat bizalmasként, ugyanúgy, mint a Twitter-jelszavát. Ne ágyazza be például ezeket az adatokat olyan alkalmazásba, amelyet másoknak ad meg.

Az ügyfélalkalmazás konfigurálása

Létrehoztunk egy ügyfélalkalmazást, amely Twitter-adatokhoz csatlakozik a Twitter Streaming API-k használatával, hogy tweetes eseményeket gyűjtsön egy adott témakörcsoportról.

Az alkalmazás futtatása előtt bizonyos információkat igényel öntől, például a Twitter-kulcsokat és az eseményközpontot kapcsolati sztring.

  1. Győződjön meg arról, hogy letöltötte a TwitterClientCore alkalmazást az előfeltételek között felsorolt módon.

  2. Az App.config fájl megnyitásához használjon szövegszerkesztőt. Végezze el a következő módosításokat az <appSettings> elemen:

    • Állítsa be oauth_consumer_key a Twitter fogyasztói kulcsát (API-kulcsot).
    • Állítsa be oauth_consumer_secret a Twitter Consumer Secret (API titkos kulcs) értékre.
    • Állítsa be oauth_token a Twitter Access-jogkivonatot.
    • Állítsa be oauth_token_secret a Twitter Access-jogkivonat titkos kódjára.
    • Állítsa be EventHubNameConnectionString a kapcsolati sztring.
    • Állítsa be EventHubName az eseményközpont nevét (ez az entitás elérési útjának értéke).
  3. Nyissa meg a parancssort, és keresse meg azt a könyvtárat, amelyben a TwitterClientCore alkalmazás található. A projekt létrehozásához használja a parancsot dotnet build . Ezután futtassa az alkalmazást a paranccsal dotnet run . Az alkalmazás tweeteket küld az Event Hubsnak.

Stream Analytics-feladat létrehozása

Most, hogy a tweetes események valós időben streamelnek a Twitterről, beállíthat egy Stream Analytics-feladatot, amellyel valós időben elemezheti ezeket az eseményeket.

  1. Az Azure Portalon lépjen az erőforráscsoportra, és válassza a + Hozzáadás lehetőséget. Ezután keresse meg a Stream Analytics-feladatot , és válassza a Létrehozás lehetőséget.

  2. Nevezze el a feladatot socialtwitter-sa-job , és adjon meg egy előfizetést, erőforráscsoportot és helyet.

    A legjobb teljesítmény érdekében érdemes ugyanabban a régióban elhelyezni a feladatot és az eseményközpontot, hogy ne kelljen fizetnie az adatok régiók közötti átviteléért.

  3. Válassza a Létrehozás lehetőséget. Ezután lépjen a feladathoz, amikor az üzembe helyezés befejeződött.

A feladat bemenetének megadása

  1. A Stream Analytics-feladatban válassza a Bal oldali menü Bemenetek elemét a Feladattopológia csoportban.

  2. Válassza a + Streambemenet hozzáadása>eseményközpont lehetőséget. Töltse ki az Új beviteli űrlapot a következő információkkal:

    Beállítás Ajánlott érték Leírás
    Bemeneti alias TwitterStream Adjon meg egy aliast a bemenethez.
    Előfizetés <Az Ön előfizetése> Válassza ki a használni kívánt Azure-előfizetést.
    Event Hubs-névtér asa-twitter-eventhub
    Eseményközpont neve socialtwitter-eh Válassza a Meglévő használata lehetőséget. Ezután válassza ki a létrehozott eseményközpontot.
    Esemény tömörítési típusa Gzip Az adattömörítés típusa.

    Hagyja meg a fennmaradó alapértelmezett értékeket, és válassza a Mentés lehetőséget.

A feladat lekérdezésének megadása

A Stream Analytics egy egyszerű, deklaratív lekérdezési modellt támogat, amely az átalakításokat írja le. A nyelvvel kapcsolatos további információkért tekintse meg az Azure Stream Analytics lekérdezési nyelvi referenciát. Ez az útmutató segít több lekérdezést létrehozni és tesztelni Twitter-adatokon keresztül.

Ha össze szeretné hasonlítani a témakörök közötti említések számát, egy átfedésmentes ablak segítségével öt másodpercenként lekérheti az említések számát témakör szerint.

  1. A feladat áttekintésében válassza a Lekérdezés szerkesztése lehetőséget a Lekérdezés mező jobb felső sarkában. Az Azure felsorolja a feladathoz konfigurált bemeneteket és kimeneteket, és lehetővé teszi, hogy létrehozhasson egy lekérdezést, amely átalakítja a bemeneti adatfolyamot a kimenetbe való küldéskor.

  2. Módosítsa a lekérdezésszerkesztőben a következőre a lekérdezést:

    SELECT *
    FROM TwitterStream
    
  3. Az üzenetek eseményadatainak a lekérdezés alatti Bemeneti előnézet ablakban kell megjelennie. Győződjön meg arról, hogy a nézet JSON-ra van állítva. Ha nem lát adatokat, győződjön meg arról, hogy az adatgenerátor eseményeket küld az eseményközpontba, és hogy a bemenethez a Gzip tömörítési típust választotta.

  4. Válassza a Lekérdezés tesztelése lehetőséget, és figyelje meg az eredményeket a lekérdezés alatti Teszt eredmények ablakban.

  5. Módosítsa a lekérdezést a kódszerkesztőben a következőre, és válassza a Lekérdezés tesztelése lehetőséget:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Ez a lekérdezés az Azure kulcsszót tartalmazó összes tweetet visszaadja.

Kimeneti fogadó létrehozása

Most már definiált egy eseménystreamet, egy eseményközpont-bemenetet az események betöltéséhez, valamint egy lekérdezést, amely transzformációt hajt végre a streamen keresztül. Az utolsó lépés egy kimeneti fogadó definiálása a feladathoz.

Ebben az útmutatóban a feladat lekérdezéséből az Azure Blob Storage-ba írhatja az összesített tweetes eseményeket. Az alkalmazás igényeinek megfelelően le is küldheti az eredményeket az Azure SQL Database-be, az Azure Table Storage-ba, az Event Hubsba vagy a Power BI-ba.

A feladat kimenetének megadása

  1. A bal oldali navigációs menü Feladattopológia szakaszában válassza a Kimenetek lehetőséget.

  2. A Kimenetek lapon válassza a + Hozzáadás és blobtároló/Data Lake Storage Gen2 lehetőséget:

    • Kimeneti alias: Használja a nevet TwitterStream-Output.
    • Importálási beállítások: Válassza a Tárterület kiválasztása lehetőséget az előfizetésekből.
    • Storage-fiók. Válassza ki a tárfiókot.
    • Tároló. Válassza az Új létrehozása elemet, majd írja be a kívánt értéketsocialtwitter.
  3. Válassza a Mentés lehetőséget.

A feladat indítása

A feladat bemenete, lekérdezése és kimenete meg van adva. Készen áll a Stream Analytics-feladat elindítására.

  1. Győződjön meg arról, hogy a TwitterClientCore alkalmazás fut.

  2. A feladat áttekintésében válassza a Start lehetőséget.

  3. A Feladat indítása lapon válassza a Feladat kimenetének kezdési időpontja lehetőséget, majd válassza a Start lehetőséget.

Támogatás kérése

További segítségért próbálja ki a Microsoft Q&A kérdésoldalát az Azure Stream Analyticshez.

Következő lépések