Analýza sociálních médií s Azure Stream Analytics
V tomto článku se naučíte, jak vytvořit řešení pro analýzu mínění na sociálních sítích tím, že twitterové události v reálném čase Azure Event Hubs. Napíšete dotaz Azure Stream Analytics který analyzuje data a uloží výsledky pro pozdější použití, nebo vytvoříte řídicí panel 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 pochopit populární témata. Populární témata jsou témata a názory, které mají velké množství příspěvků na sociálních sítích. Analýza mínění, která se také nazývá dolování názorů, používá analytické nástroje sociálních médií k určení postojů k produktu nebo nápadu.
Analýza trendů na Twitteru v reálném čase je skvělým příkladem analytického nástroje, protože model odběru hashtagu umožňuje naslouchat konkrétním klíčovým slovům (hashtagům) a vyvíjet analýzu mínění informačního kanálu.
Scénář: Analýza mínění na sociálních sítích v reálném čase
Společnost, která má web zpravodajských médií, má zájem získat výhodu oproti svým konkurentům tím, že nabízí obsah webu, který je okamžitě relevantní pro čtenáře. Společnost používá analýzu sociálních médií k tématům, která jsou relevantní pro čtenáře, pomocí analýzy mínění na Twitteru v reálném čase.
Aby společnost na Twitteru identifikovala populární témata v reálném čase, potřebuje analýzu objemu tweetů a mínění u klíčových témat v reálném čase.
Požadavky
V tomto návodu použijete klientskou aplikaci, která se připojí k Twitteru a vyhledá tweety s určitými hashtagy (které můžete nastavit). Pokud chcete spustit aplikaci a analyzovat tweety pomocí Azure Streaming Analytics, musíte mít následující:
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
Účet Na Twitteru.
Aplikace TwitterClientCore, která čte informační kanál Twitteru. Tuto aplikaci získáte tak, že stáhnete TwitterClientCore.
Nainstalujte .NET Core CLI verze 2.1.0.
Níže je architektura řešení, kterou budete implementovat.

Vytvoření centra událostí pro vstup streamování
Ukázková aplikace generuje události a předá je do centra událostí Azure. Azure Event Hubs jsou upřednostňovanou metodou příjmu událostí pro Stream Analytics. Další informace najdete v Azure Event Hubs .
Vytvoření oboru názvů centra událostí a centra událostí
V této části vytvoříte obor názvů centra událostí a přidáte do tohoto oboru názvů centrum událostí. Obory názvů centra událostí slouží k logickému seskupení souvisejících instancí sběrnice událostí.
Přihlaste se k Azure Portal a vyberte Vytvořit prostředek. Pak. vyhledejte Event Hubs a vyberte Vytvořit.
Na stránce Vytvořit obor názvů zadejte název oboru názvů. Pro obor názvů můžete použít libovolný název, ale název musí být platný pro adresu URL a musí být jedinečný v rámci Azure.
Vyberte cenovou úroveň a předplatné a vytvořte nebo zvolte skupinu prostředků. Pak zvolte umístění a vyberte Vytvořit.
Po dokončení nasazování oboru názvů přejděte do své skupiny prostředků a v seznamu prostředků Azure vyhledejte obor názvů centra událostí.
V novém oboru názvů vyberte + Centrum událostí.
Nové centrum událostí pojmete socialtwitter-eh. Můžete použít jiný název. Pokud to tak je, poznamenejte si ho, protože název budete potřebovat později. Pro centrum událostí nemusíte nastavovat žádné další možnosti.
Vyberte Vytvořit.
Udělení přístupu k centru událostí
Aby mohl proces odesílat data 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.
Na navigačním panelu na levé straně oboru názvů služby Event Hubs vyberte Event Hubs, který se nachází v části Entity. Pak vyberte centrum událostí, které jste právě vytvořili.
Na navigačním panelu na levé straně vyberte Zásady sdíleného přístupu v části Nastavení.
Poznámka
Pro obor názvů centra událostí a pro centrum událostí je v části možnost Zásady sdíleného přístupu. Ujistěte se, že pracujete v kontextu centra událostí, ne v celkovém oboru názvů centra událostí.
Na stránce zásad přístupu vyberte + Přidat. Pak jako Název zásady zadejte socialtwitter-access a zaškrtněte políčko Spravovat.
Vyberte Vytvořit.
Po nasazení zásady vyberte zásadu ze seznamu zásad sdíleného přístupu.
Vyhledejte pole s popiskem Připojovací řetězec primary-key a vyberte tlačítko kopírování vedle připojovacího řetězce.
Vložte připojovací řetězec do textového editoru. Po provedení některých malých úprav budete tento připojovací řetězec potřebovat pro další část.
Připojovací řetězec vypadá takhle:
Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialtwitter-access;SharedAccessKey=Gw2NFZw6r...FxKbXaC2op6a0ZsPkI=;EntityPath=socialtwitter-eh
Všimněte si, že připojovací řetězec obsahuje několik párů klíč-hodnota oddělených středníky: Endpoint , SharedAccessKeyName , a SharedAccessKey EntityPath .
Poznámka
Kvůli zabezpečení byly odebrány části připojovacího řetězce v příkladu.
Konfigurace a spuštění klientské aplikace Twitteru
Klientská aplikace získá události tweetu přímo z Twitteru. K tomu potřebuje oprávnění k volání rozhraní Twitter Streaming API. Toto oprávnění nakonfigurujete tak, že 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 při volání rozhraní API tyto přihlašovací údaje používat.
Vytvoření aplikace Twitter
Pokud ještě nemáte aplikaci Twitteru, kterou byste mohli použít pro tohoto návodu, můžete si ji vytvořit. Už musíte mít účet Twitteru.
Poznámka
Přesný postup vytvoření aplikace na Twitteru 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, přečtěte si dokumentaci pro vývojáře na Twitteru.
Ve webovém prohlížeči přejděte na Twitter for Developers (Twitter provývojáře), vytvořte vývojářský účet a vyberte Create an app (Vytvořit aplikaci). Může se zobrazit zpráva s oznámením, že potřebujete požádat o vývojářský účet na Twitteru. Můžete to udělat, a po schválení vaší aplikace by se vám měl zobrazit potvrzovací e-mail. Schválení vývojářského účtu může trvat několik dnů.

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

Na stránce aplikace vyberte kartu Klíče a tokeny a zkopírujte hodnoty Consumer API Key (Klíč rozhraní CONSUMER API) a Consumer API Secret Key (Tajný klíč rozhraní CONSUMER API). Pokud chcete vygenerovat přístupové tokeny, vyberte Vytvořit také 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. Tyto hodnoty budete potřebovat později.
Poznámka
Klíče a tajné kódy pro aplikaci Twitter poskytují přístup k vašemu účtu na Twitteru. Zacházet s nimi jako s citlivými informacemi, stejně jako s heslem twitteru. Nevkládáte například tyto informace do aplikace, kterou předá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í tweetů o konkrétní sadě témat.
Než se aplikace spustí, vyžaduje od vás určité informace, jako jsou klíče Twitteru a připojovací řetězec centra událostí.
Ujistěte se, že jste si stáhli aplikaci TwitterClientCore, jak je uvedeno v požadavcích.
Pomocí textového editoru otevřete soubor App.config souboru. Proveďte v elementu
<appSettings>následující změny:- Nastavte
oauth_consumer_keyna Twitter Consumer Key (klíč rozhraní API). - Nastavte
oauth_consumer_secretna Tajný kód příjemce Twitteru (tajný klíč rozhraní API). - Nastavte
oauth_tokenna Přístupový token Twitteru. - Nastavte
oauth_token_secretna tajný kód tokenu Twitter Access. - Nastavte
EventHubNameConnectionStringna připojovací řetězec. - Nastavte
EventHubNamena název centra událostí (to je hodnota cesty entity).
- Nastavte
Otevřete příkazový řádek a přejděte do adresáře, kde se nachází vaše aplikace TwitterClientCore. Pomocí příkazu
dotnet buildSestavte projekt. Pak použijte příkazdotnet runke spuštění aplikace. Aplikace pošle tweety do centra událostí.
Vytvoření úlohy Stream Analytics
Teď, když jsou události ve službě Twitter streamované v reálném čase, můžete nastavit úlohu Stream Analytics pro analýzu těchto událostí v reálném čase.
V Azure Portal přejděte do skupiny prostředků a vyberte + Přidat. Pak vyhledejte Stream Analytics úlohu a vyberte vytvořit.
Pojmenujte úlohu
socialtwitter-sa-joba zadejte předplatné, skupinu prostředků a umístění.Je vhodné umístit úlohu a centrum událostí ve stejné oblasti, aby se co nejlépe vyzpůsobilo, a nebudete platit za přenos dat mezi oblastmi.
Vyberte Vytvořit. Až se nasazení dokončí, přejděte k vaší úloze.
Zadat vstup úlohy
V úloze Stream Analytics v nabídce vlevo v části topologie úlohy vyberte vstupy .
Vyberte + přidat datový proud > centrum událostí vstupu. Vyplňte nový vstupní formulář s následujícími informacemi:
Nastavení Navrhovaná hodnota Popis Alias vstupu TwitterStream Zadejte alias pro vstup. Předplatné <Your subscription> Vyberte předplatné Azure, které chcete použít. Obor názvů centra událostí ASA – Twitter – eventhub Název centra událostí socialtwitter – eh Vyberte možnost použít existující. Pak vyberte centrum událostí, které jste vytvořili. Typ komprese události GZip Typ komprese dat Zbývající výchozí hodnoty ponechte a vyberte Uložit.
Zadat dotaz úlohy
Stream Analytics podporuje jednoduchý deklarativní model dotazu, který popisuje transformace. Další informace o tomto jazyce najdete v referenčních informacích k jazyku Azure Stream Analytics dotazů. Tento průvodce vám pomůže vytvořit a otestovat několik dotazů přes data z Twitteru.
Chcete-li porovnat počet zmínk mezi tématy, můžete použít bubnové okno a získat počet slov, který bude v tématu každých pět sekund.
V okně Přehled úlohy vyberte Upravit dotaz v pravém horním rohu pole dotazu. Azure obsahuje seznam vstupů a výstupů, které jsou pro úlohu nakonfigurované, a umožňuje vytvořit dotaz pro transformaci vstupního streamu, když se pošle do výstupu.
V editoru dotazů změňte dotaz na následující:
SELECT * FROM TwitterStreamData události ze zpráv by se měla zobrazit v okně Náhled vstupu pod vaším dotazem. Ujistěte se, že je zobrazení nastaveno na JSON. Pokud nevidíte žádná data, ujistěte se, že váš generátor dat odesílá události do centra událostí a že jste jako typ komprese pro vstup vybrali gzip .
Vyberte test Query a Všimněte si výsledků v okně výsledky testu pod vaším dotazem.
Změňte dotaz v editoru kódu na následující a vyberte test Query:
SELECT System.Timestamp as Time, text FROM TwitterStream WHERE text LIKE '%Azure%'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 centra událostí pro ingestování událostí a dotaz k provedení transformace v datovém proudu. Posledním krokem je definování výstupní jímky pro úlohu.
V této příručce se naučíte zapisovat agregované události se změnami z dotazu úlohy do úložiště objektů BLOB v Azure. výsledky můžete také nabízet Azure SQL Database, Azure Table storage, Event Hubs nebo Power BI, a to v závislosti na potřebách vaší aplikace.
Zadejte výstup úlohy.
V části topologie úlohy v levé navigační nabídce vyberte výstupy.
na stránce výstupy klikněte na + přidat a Blob storage/Data Lake Storage Gen2:
- Alias pro výstup: použijte název
TwitterStream-Output. - Možnosti importu: vyberte ze svých předplatných možnost vybrat úložiště.
- účet Storage. Vyberte svůj účet úložiště.
- Kontejner. Vyberte vytvořit nové a zadejte
socialtwitter.
- Alias pro výstup: použijte název
Vyberte Uložit.
Spuštění úlohy
Je určen vstup, dotaz a výstup úlohy. Jste připraveni začít úlohu Stream Analytics.
Ujistěte se, že je aplikace TwitterClientCore spuštěná.
V přehledu úlohy vyberte Spustit.
Na stránce Spustit úlohu pro čas spuštění výstupu úlohy vyberte nyní a pak vyberte Spustit.
Získání podpory
Pokud chcete získat další pomoc, vyzkoušejte si naši stránku Microsoft Q&Azure Stream Analytics.