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

V tomto kurzu se dozvíte, jak vytvořit řešení analýzy mínění sociálních médií tím, že do Azure Event Hubs přenesete události X (dříve Twitter) v reálném čase 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 X 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ýzy 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 X.

K identifikaci populárních témat v reálném čase na X potřebuje společnost analýzu objemu tweetů a mínění v reálném čase pro klíčová témata.

Požadavky

V tomto kurzu použijete klientskou aplikaci, která se připojí k X, a vyhledá 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.

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

Diagram znázorňující služby a aplikace používané k vytvoření řešení analýzy sociálních médií

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řte obor názvů služby Event Hubs a centrum událostí

Postupujte podle pokynů v článku Rychlý start: Vytvoření centra událostí pomocí webu Azure Portal a vytvořte obor názvů služby Event Hubs a centrum událostí s názvem socialx-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ů i centrum událostí je k dispozici možnost Zásady sdíleného přístupu. Ujistěte se, že pracujete v kontextu svého centra událostí, nikoli v kontextu oboru názvů.

  3. Na stránce Zásady sdíleného přístupu vyberte na panelu příkazů + Přidat. Potom do pole Název zásady zadejte socialx-access a zaškrtněte políčko Manage.

  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é jako Primární klíč připojovacího řetězce a vyberte tlačítko Kopírovat vedle připojovacího řetězce.

  7. Vložte připojovací řetězec do textového editoru. Tento připojovací řetězec budete potřebovat v další části po provedení několika malých úprav.

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

Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialx-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialx-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:

Z bezpečnostních důvodů byly části připojovacího řetězce v příkladu odebrány.

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

Klientská aplikace získává události tweetu přímo z X. 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 v X aplikaci, která generuje 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 X

Pokud ještě nemáte aplikaci X, kterou můžete použít pro tento kurz, můžete ji vytvořit. Účet X už musíte mít.

Poznámka:

Přesný proces v X 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 webu X, projděte si dokumentaci pro vývojáře X.

  1. Ve webovém prohlížeči přejděte na Vývojáři X, vytvořte vývojářský účet a vyberte Vytvořit aplikaci. Může se zobrazit zpráva s informací, že potřebujete požádat o vývojářský účet X. 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í.

    Snímek obrazovky portálu pro vývojáře X zobrazující tlačítko Vytvořit aplikaci

  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).

    Snímek obrazovky s podoknem podrobností aplikace, kde zadáte hodnoty pro novou aplikaci

  3. Na stránce aplikace vyberte kartu Klíče a tokeny a zkopírujte hodnoty pro klíč rozhraní Consumer API a tajný klíč rozhraní Consumer API. Také výběrem možnosti Vytvořit v části Přístupový token a tajný klíč přístupového tokenu vygenerujete přístupové tokeny. Zkopírujte hodnoty Access Token (Přístupový token) a Access Token Secret (Tajný klíč přístupového tokenu).

    Uložte hodnoty, které jste získali pro aplikaci X. Hodnoty budete potřebovat později.

Poznámka:

Klíče a tajné kódy aplikace X poskytují přístup k vašemu účtu X. Zacházejte s informacemi jako s citlivými, stejně jako s heslem X. 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 X pomocí rozhraní Twitter Streaming API ke shromažďování událostí tweetu o konkrétní sadě témat.

Než se aplikace spustí, potřebuje od vás určité informace, například klíče pro Twitter a připojovací řetězec centra událostí.

  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 na tajný klíč Consumer Secret služby Twitter (tajný klíč rozhraní API).
    • Nastavte oauth_token na přístupový token pro Twitter.
    • 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řte úlohu Stream Analytics

Teď, když jsou události tweetu streamované v reálném čase z X, 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 socialx-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.

Zadejte vstup úlohy

  1. V úloze Stream Analytics vyberte v levé nabídce v části Topologie úlohy položku Vstupy.

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

    Nastavení Navrhovaná hodnota Popis
    Alias pro vstup TwitterStream Zadejte alias pro vstup.
    Předplatné <Vaše předplatné> Vyberte předplatné Azure, které chcete použít.
    Obor názvů Event Hubs asa-x-eventhub
    Název centra událostí socialx-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.

Zadejte dotaz ú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 kurz vám pomůže vytvořit a otestovat několik dotazů na data X.

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 o událostech ze zpráv by se měla zobrazit v okně Náhled vstupu pod vaším dotazem. Ujistěte se, že Zobrazení je nastaveno 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

Nyní jste definovali datový proud událostí, vstup služby Event Hubs pro příjem událostí a dotaz pro transformaci tohoto proudu. Posledním krokem je definování výstupní jímky pro úlohu.

V tomto kurzu zapíšete agregované události tweetů z dotazu úlohy do 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 socialx.
  3. Zvolte Uložit.

Spusťte úlohu

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 pro Azure Stream Analytics

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

Další kroky