Analýza sociálních médií pomocí Azure Stream Analytics

V tomto článku se dozvíte, jak vytvořit řešení analýzy mínění sociálních médií tím, že do služby Azure Event Hubs v reálném čase přenesete události Twitteru a pak je analyzujete pomocí Stream Analytics. Napíšete dotaz Azure Stream Analytics k analýze dat a uložení výsledků pro pozdější použití nebo vytvoření řídicího panelu Power BI , který poskytuje přehledy v reálném čase.

Nástroje pro analýzu sociálních médií pomáhají organizacím porozumět populárním tématům. Populární témata jsou témata a postoje, které mají velký objem příspěvků na sociálních médiích. Analýza mínění, která se označuje také jako dolování názorů, používá nástroje pro analýzu sociálních médií k určení postojů k produktu nebo myšlence.

Analýza trendu Twitteru v reálném čase je skvělým příkladem analytického nástroje, protože model odběru hashtagu umožňuje poslouchat konkrétní klíčová slova (hashtagy) a vyvíjet analýzu mínění informačního kanálu.

Scénář: Analýza mínění sociálních médií v reálném čase

Společnost, která má web informačních médií, má zájem získat výhodu oproti svým konkurentům tím, že představuje obsah webu, který je okamžitě relevantní pro své čtenáře. Společnost používá analýzu sociálních médií na témata, která jsou relevantní pro čtenáře tím, že provádí analýzu mínění v reálném čase dat Twitteru.

Aby bylo možné identifikovat populární témata v reálném čase na Twitteru, potřebuje společnost analýzu objemu tweetu a mínění v reálném čase pro klíčová témata.

Požadavky

V tomto návodu použijete klientskou aplikaci, která se připojuje k Twitteru a hledá tweety s určitými hashtagy (které můžete nastavit). Následující seznam obsahuje požadavky pro spuštění aplikace a analýzu tweetů pomocí Azure Streaming Analytics.

  • Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.

  • Účet Twitteru .

  • Aplikace TwitterClientCore, která čte informační kanál Twitteru. Pokud chcete tuto aplikaci získat, stáhněte si TwitterClientCore.

  • Nainstalujte rozhraní příkazového řádku .NET Core verze 2.1.0.

Tady je architektura řešení, kterou budete implementovat.

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

Vytvoření centra událostí pro streamování vstupu

Ukázková aplikace generuje události a odesílá je do centra událostí. Azure Event Hubs je upřednostňovanou metodou příjmu událostí pro Stream Analytics. Další informace najdete v dokumentaci ke službě Azure Event Hubs.

Vytvoření oboru názvů služby Event Hubs a centra událostí

Postupujte podle pokynů z rychlého startu: Vytvoření centra událostí pomocí webu Azure Portal k vytvoření oboru názvů služby Event Hubs a centra událostí s názvem socialtwitter-eh. Můžete použít jiný název. Pokud to uděláte, poznamenejte si ho, protože název budete potřebovat později. Pro centrum událostí nemusíte nastavovat žádné další možnosti.

Udělení přístupu k centru událostí

Před odesláním dat do centra událostí potřebuje centrum událostí zásadu, která umožňuje přístup. Zásady přístupu vytváří připojovací řetězec, který obsahuje informace o autorizaci.

  1. Na navigačním panelu na levé straně oboru názvů služby Event Hubs vyberte Službu Event Hubs, která se nachází v části Entity . Pak vyberte centrum událostí, které jste právě vytvořili.

  2. Na navigačním panelu na levé straně vyberte zásady sdíleného přístupu umístěné v části Nastavení.

    Poznámka:

    Pro obor názvů a centrum událostí je k dispozici možnost Zásady sdíleného přístupu. Ujistěte se, že pracujete v kontextu centra událostí, ne v oboru názvů.

  3. Na stránce Zásady sdíleného přístupu vyberte na panelu příkazů + Přidat. Potom zadejte pro název zásady přístuppro sociální sítě a zaškrtněte políčko Spravovat.

  4. Vyberte Vytvořit.

  5. Po nasazení zásady vyberte zásadu ze seznamu zásad sdíleného přístupu.

  6. Najděte pole označené Připojení ionový primární klíč řetězce a vyberte tlačítko kopírování vedle připojovací řetězec.

  7. Vložte připojovací řetězec do textového editoru. Po provedení malých úprav budete potřebovat tento připojovací řetězec pro další oddíl.

Připojovací řetězec vypadá takto:

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

Všimněte si, že připojovací řetězec obsahuje více dvojic klíč-hodnota oddělených středníky: Endpoint, SharedAccessKeyName, SharedAccessKeya EntityPath.

Poznámka:

V případě zabezpečení byly části připojovací řetězec v příkladu odebrány.

Konfigurace a spuštění klientské aplikace Twitter

Klientská aplikace získává události tweetu přímo z Twitteru. Aby to bylo možné provést, potřebuje oprávnění k volání rozhraní Twitter Streaming API. Pokud chcete toto oprávnění nakonfigurovat, vytvoříte aplikaci na Twitteru, která vygeneruje jedinečné přihlašovací údaje (například token OAuth). Klientskou aplikaci pak můžete nakonfigurovat tak, aby tyto přihlašovací údaje používala při volání rozhraní API.

Vytvoření aplikace Twitter

Pokud ještě nemáte aplikaci Twitter, kterou můžete použít pro tento návod, můžete si ji vytvořit. Musíte už mít účet Twitteru.

Poznámka:

Přesný proces na Twitteru pro vytvoření aplikace a získání klíčů, tajných kódů a tokenů se může změnit. Pokud tyto pokyny neodpovídají tomu, co vidíte na twitterovém webu, projděte si dokumentaci pro vývojáře Twitteru.

  1. Ve webovém prohlížeči přejděte na Twitter For Developers, vytvořte vývojářský účet a vyberte Vytvořit aplikaci. Může se zobrazit zpráva s informací, že musíte požádat o vývojářský účet Twitteru. Neváhejte to udělat a po schválení vaší aplikace byste měli vidět potvrzovací e-mail. Schválení účtu vývojáře může trvat několik dní.

    Screenshot shows the Create an app button.

  2. Na stránce Create an application (Vytvoření aplikace) zadejte podrobnosti o nové aplikaci a pak vyberte Create your Twitter application (Vytvořit aplikaci Twitter).

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

  3. Na stránce aplikace vyberte kartu Klíče a tokeny a zkopírujte hodnoty pro klíč rozhraní Consumer API a tajný klíč rozhraní API příjemce. Pokud chcete vygenerovat přístupové tokeny, vyberte možnost Vytvořit v části Přístupový token a tajný klíč přístupového tokenu. Zkopírujte hodnoty Access Token (Přístupový token) a Access Token Secret (Tajný klíč přístupového tokenu).

    Uložte hodnoty, které jste načetli pro aplikaci Twitter. Hodnoty budete potřebovat později.

Poznámka:

Klíče a tajné kódy pro aplikaci Twitter poskytují přístup k vašemu účtu Twitter. Tyto informace můžete považovat za citlivé, stejně jako s heslem twitteru. Tyto informace například nevkládejte do aplikace, kterou dáte ostatním.

Konfigurace klientské aplikace

Vytvořili jsme klientskou aplikaci, která se připojuje k datům Twitteru pomocí rozhraní Twitter Streaming API ke shromažďování událostí tweetu o konkrétní sadě témat.

Než se aplikace spustí, vyžaduje od vás určité informace, jako jsou klíče Twitteru a centrum událostí připojovací řetězec.

  1. Ujistěte se, že jste si stáhli aplikaci TwitterClientCore , jak je uvedeno v požadavcích.

  2. K otevření souboru App.config použijte textový editor. Proveďte následující změny elementu <appSettings> :

    • Nastavte oauth_consumer_key na klíč uživatele Twitteru (klíč rozhraní API).
    • Nastavte oauth_consumer_secret tajný klíč twitterového příjemce (tajný klíč rozhraní API).
    • Nastavte oauth_token přístupový token Twitteru.
    • Nastavte oauth_token_secret tajný kód přístupového tokenu Twitteru.
    • Nastavte EventHubNameConnectionString na připojovací řetězec.
    • Nastavte EventHubName na název centra událostí (to je hodnota cesty entity).
  3. Otevřete příkazový řádek a přejděte do adresáře, kde se nachází aplikace TwitterClientCore. Pomocí příkazu dotnet build sestavte projekt. Pak pomocí příkazu dotnet run spusťte aplikaci. Aplikace odesílá tweety do služby Event Hubs.

Vytvoření úlohy Stream Analytics

Teď, když jsou události tweetu streamované v reálném čase z Twitteru, můžete nastavit úlohu Stream Analytics pro analýzu těchto událostí v reálném čase.

  1. Na webu Azure Portal přejděte do skupiny prostředků a vyberte + Přidat. Pak vyhledejte úlohu Stream Analytics a vyberte Vytvořit.

  2. Pojmenujte úlohu socialtwitter-sa-job a zadejte předplatné, skupinu prostředků a umístění.

    Pro zajištění nejlepšího výkonu je vhodné umístit úlohu a centrum událostí do stejné oblasti, abyste nemuseli platit za přenos dat mezi oblastmi.

  3. Vyberte Vytvořit. Po dokončení nasazení přejděte ke své úloze.

Zadání vstupu úlohy

  1. V úloze Stream Analytics vyberte v levé nabídce v části Topologie úlohy vstupy.

  2. Vyberte + Přidat vstupní>centrum událostí streamu. Vyplňte nový vstupní formulář s následujícími informacemi:

    Nastavení Navrhovaná hodnota Popis
    Alias vstupu TwitterStream Zadejte alias pro vstup.
    Předplatné <Vaše předplatné> Vyberte předplatné Azure, které chcete použít.
    Obor názvů služby Event Hubs asa-twitter-eventhub
    Název centra událostí socialtwitter-eh Zvolte Použít existující. Pak vyberte centrum událostí, které jste vytvořili.
    Typ komprese události Gzip Typ komprese dat.

    Ponechte zbývající výchozí hodnoty a vyberte Uložit.

Zadání dotazu úlohy

Stream Analytics podporuje jednoduchý deklarativní dotazovací model, který popisuje transformace. Další informace o jazyce najdete v referenčních informacích k dotazovacímu jazyku Azure Stream Analytics. Tento návod vám pomůže vytvořit a otestovat několik dotazů na data Twitteru.

Pokud chcete porovnat počet zmínek mezi tématy, můžete pomocí přeskakujícího okna získat počet zmínek podle tématu každých pět sekund.

  1. V přehledu úlohy vyberte Upravit dotaz v pravém horním rohu pole Dotaz. Azure vypíše vstupy a výstupy, které jsou nakonfigurované pro úlohu, a umožňuje vytvořit dotaz pro transformaci vstupního datového proudu při odesílání do výstupu.

  2. Změňte dotaz v editoru dotazů na následující:

    SELECT *
    FROM TwitterStream
    
  3. Data události ze zpráv by se měla zobrazit v okně náhledu vstupu pod dotazem. Ujistěte se, že je zobrazení nastavené na JSON. Pokud nevidíte žádná data, ujistěte se, že generátor dat odesílá události do centra událostí a že jste jako typ komprese pro vstup vybrali Gzip .

  4. Vyberte testovací dotaz a všimněte si výsledků v okně Výsledků testu pod vaším dotazem.

  5. Změňte dotaz v editoru kódu na následující a vyberte Test dotazu:

    SELECT System.Timestamp as Time, text
    FROM TwitterStream
    WHERE text LIKE '%Azure%'
    
  6. Tento dotaz vrátí všechny tweety, které obsahují klíčové slovo Azure.

Vytvoření výstupní jímky

Teď jste definovali stream událostí, vstup centra událostí pro ingestování událostí a dotaz, který provede transformaci datového proudu. Posledním krokem je definování výstupní jímky pro úlohu.

V tomto návodu napíšete agregované události tweetu z dotazu úlohy do služby Azure Blob Storage. Výsledky můžete také odeslat do Azure SQL Database, Azure Table Storage, Event Hubs nebo Power BI v závislosti na potřebách vaší aplikace.

Zadání výstupu úlohy

  1. V části Topologie úlohy v levé navigační nabídce vyberte Výstupy.

  2. Na stránce Výstupy vyberte + Přidat a Blob Storage / Data Lake Storage Gen2:

    • Alias výstupu: Použijte název TwitterStream-Output.
    • Možnosti importu: Vyberte úložiště z vašich předplatných.
    • Účet úložiště. Vyberte svůj účet úložiště.
    • Kontejner. Vyberte Vytvořit nový a zadejte socialtwitter.
  3. Zvolte Uložit.

Spuštění úlohy

Zadává se vstup úlohy, dotaz a výstup. Jste připraveni spustit úlohu Stream Analytics.

  1. Ujistěte se, že je spuštěná aplikace TwitterClientCore.

  2. V přehledu úlohy vyberte Spustit.

  3. Na stránce Spustit úlohu v části Čas spuštění výstupu úlohy vyberte Nyní a pak vyberte Spustit.

Získání podpory

Pokud potřebujete další pomoc, vyzkoušejte naši stránku pro otázky Microsoftu pro Azure Stream Analytics.

Další kroky