Analiza mediów społecznościowych za pomocą usługi Azure Stream Analytics
W tym artykule pokazano, jak utworzyć rozwiązanie do analizy tonacji mediów społecznościowych, przenosząc zdarzenia X w czasie rzeczywistym do usługi Azure Event Hubs, a następnie analizując je przy użyciu usługi Stream Analytics. Napiszesz zapytanie usługi Azure Stream Analytics w celu przeanalizowania danych i przechowywania wyników do późniejszego użycia lub utworzenia pulpitu nawigacyjnego usługi Power BI w celu zapewnienia szczegółowych informacji w czasie rzeczywistym.
Narzędzia do analizy mediów społecznościowych ułatwiają organizacjom zrozumienie popularnych tematów. Popularne tematy to tematy i postawy, które mają dużą liczbę postów w mediach społecznościowych. Analiza tonacji, nazywana również wyszukiwaniami opinii, wykorzystuje narzędzia analizy mediów społecznościowych do określania postaw wobec produktu lub pomysłu.
Analiza trendów X w czasie rzeczywistym jest doskonałym przykładem narzędzia analitycznego, ponieważ model subskrypcji hashtag umożliwia nasłuchiwanie określonych słów kluczowych (hashtagów) i opracowywanie analizy tonacji kanału informacyjnego.
Scenariusz: Analiza tonacji mediów społecznościowych w czasie rzeczywistym
Firma, która ma witrynę internetową mediów informacyjnych, jest zainteresowana uzyskaniem przewagi nad swoimi konkurentami dzięki zawartości witryny, która jest natychmiast istotna dla swoich czytelników. Firma używa analizy mediów społecznościowych na temat tematów, które są istotne dla czytelników, wykonując analizę tonacji w czasie rzeczywistym danych X.
Aby zidentyfikować popularne tematy w czasie rzeczywistym na platformie X, firma potrzebuje analizy w czasie rzeczywistym na temat liczby tweetów i tonacji kluczowych tematów.
Wymagania wstępne
W tym przewodniku z instrukcjami użyjesz aplikacji klienckiej, która łączy się z platformą X i szuka tweetów z określonymi hasztagami (które można ustawić). Poniższa lista zawiera wymagania wstępne dotyczące uruchamiania aplikacji i analizowania tweetów przy użyciu usługi Azure Streaming Analytics.
Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto.
Konto X .
Aplikacja TwitterClientCore, która odczytuje kanał informacyjny X. Aby pobrać tę aplikację, pobierz aplikację TwitterClientCore.
Zainstaluj interfejs wiersza polecenia platformy .NET Core w wersji 2.1.0.
Oto architektura rozwiązania, którą zamierzasz zaimplementować.
Tworzenie centrum zdarzeń na potrzeby przesyłania strumieniowego danych wejściowych
Przykładowa aplikacja generuje zdarzenia i wypycha je do centrum zdarzeń. Usługa Azure Event Hubs jest preferowaną metodą pozyskiwania zdarzeń dla usługi Stream Analytics. Aby uzyskać więcej informacji, zobacz dokumentację usługi Azure Event Hubs.
Tworzenie przestrzeni nazw i centrum zdarzeń usługi Event Hubs
Postępuj zgodnie z instrukcjami z przewodnika Szybki start: tworzenie centrum zdarzeń przy użyciu witryny Azure Portal w celu utworzenia przestrzeni nazw usługi Event Hubs i centrum zdarzeń o nazwie socialx-eh. Możesz użyć innej nazwy. Jeśli to zrobisz, zanotuj ją, ponieważ będzie potrzebna nazwa później. Nie musisz ustawiać żadnych innych opcji centrum zdarzeń.
Udzielanie dostępu do centrum zdarzeń
Zanim proces będzie mógł wysyłać dane do centrum zdarzeń, centrum zdarzeń wymaga zasad, które umożliwiają dostęp. Zasady dostępu generują parametry połączenia, które zawierają informacje o autoryzacji.
Na pasku nawigacyjnym po lewej stronie przestrzeni nazw usługi Event Hubs wybierz pozycję Event Hubs, która znajduje się w sekcji Jednostki . Następnie wybierz właśnie utworzone centrum zdarzeń.
Na pasku nawigacyjnym po lewej stronie wybierz pozycję Zasady dostępu współdzielonego znajdujące się w obszarze Ustawienia.
Uwaga
Istnieje opcja Zasady dostępu współdzielonego w obszarze przestrzeni nazw i centrum zdarzeń. Upewnij się, że pracujesz w kontekście centrum zdarzeń, a nie w przestrzeni nazw.
Na stronie Zasady dostępu współdzielonego wybierz pozycję + Dodaj na pasku poleceń. Następnie wprowadź socialx-access dla nazwy zasad i zaznacz pole wyboru Zarządzaj .
Wybierz pozycję Utwórz.
Po wdrożeniu zasad wybierz zasady z listy zasad dostępu współdzielonego.
Znajdź pole z etykietą Parametry połączenia klucz podstawowy i wybierz przycisk kopiowania obok parametry połączenia.
Wklej parametry połączenia do edytora tekstu. Ta parametry połączenia będzie potrzebna w następnej sekcji po wprowadzeniu drobnych zmian.
Parametry połączenia wygląda następująco:
Endpoint=sb://EVENTHUBS-NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=socialx-access;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=socialx-eh
Zwróć uwagę, że parametry połączenia zawiera wiele par klucz-wartość oddzielonych średnikami: Endpoint
, , SharedAccessKeyName
SharedAccessKey
i EntityPath
.
Uwaga
W przypadku zabezpieczeń usunięto części parametry połączenia w przykładzie.
Konfigurowanie i uruchamianie aplikacji klienckiej X
Aplikacja kliencka pobiera zdarzenia tweetu bezpośrednio z X. Aby to zrobić, musi mieć uprawnienia do wywoływania interfejsów API przesyłania strumieniowego w usłudze Twitter. Aby skonfigurować to uprawnienie, należy utworzyć aplikację w języku X, która generuje unikatowe poświadczenia (takie jak token OAuth). Następnie można skonfigurować aplikację kliencą tak, aby korzystała z tych poświadczeń podczas wykonywania wywołań interfejsu API.
Tworzenie aplikacji X
Jeśli nie masz jeszcze aplikacji X, której możesz użyć w tym przewodniku z instrukcjami, możesz je utworzyć. Musisz mieć już konto X.
Uwaga
Dokładny proces w języku X na potrzeby tworzenia aplikacji i pobierania kluczy, wpisów tajnych i tokenu może ulec zmianie. Jeśli te instrukcje nie są zgodne z tym, co widzisz w witrynie X, zapoznaj się z dokumentacją dewelopera X.
W przeglądarce internetowej przejdź do pozycji X Developers, utwórz konto dewelopera i wybierz pozycję Utwórz aplikację. Może zostać wyświetlony komunikat z informacją, że musisz ubiegać się o konto dewelopera X. Możesz to zrobić, a po zatwierdzeniu aplikacji powinna zostać wyświetlona wiadomość e-mail z potwierdzeniem. Zatwierdzenie konta dewelopera może potrwać kilka dni.
Na stronie Create an application (Tworzenie aplikacji) podaj szczegóły nowej aplikacji, a następnie wybierz pozycję Create your Twitter application (Utwórz aplikację usługi Twitter).
Na stronie aplikacji wybierz kartę Klucze i tokeny , a następnie skopiuj wartości klucza interfejsu API klienta i klucza tajnego interfejsu API konsumenta. Ponadto wybierz pozycję Utwórz w obszarze Token dostępu i Klucz tajny tokenu dostępu, aby wygenerować tokeny dostępu. Skopiuj wartości pól Access Token (Token dostępu) i Access Token Secret (Klucz tajny tokenu dostępu).
Zapisz wartości pobrane dla aplikacji X. Wartości będą potrzebne później.
Uwaga
Klucze i wpisy tajne dla aplikacji X zapewniają dostęp do konta X. Traktuj te informacje jako poufne, tak samo jak hasło X. Na przykład nie osadzaj tych informacji w aplikacji, którą udostępniasz innym osobom.
Konfigurowanie aplikacji klienckiej
Utworzyliśmy aplikację kliencką, która łączy się z danymi X przy użyciu interfejsów API przesyłania strumieniowego usługi Twitter w celu zbierania zdarzeń tweetów dotyczących określonego zestawu tematów.
Przed uruchomieniem aplikacji wymagane są pewne informacje, takie jak klucze usługi Twitter i centrum zdarzeń parametry połączenia.
Upewnij się, że pobrano aplikację TwitterClientCore zgodnie z wymaganiami wstępnymi.
Otwórz plik App.config za pomocą edytora tekstów. Wprowadź następujące zmiany w elemecie
<appSettings>
:- Ustaw
oauth_consumer_key
klucz użytkownika usługi Twitter (klucz interfejsu API). - Ustaw
oauth_consumer_secret
klucz tajny użytkownika usługi Twitter (klucz tajny interfejsu API). - Ustaw
oauth_token
wartość tokenu dostępu do usługi Twitter. - Ustaw
oauth_token_secret
klucz tajny tokenu dostępu do usługi Twitter. - Ustaw
EventHubNameConnectionString
wartość parametry połączenia. - Ustaw
EventHubName
nazwę centrum zdarzeń (jest to wartość ścieżki jednostki).
- Ustaw
Otwórz wiersz polecenia i przejdź do katalogu, w którym znajduje się aplikacja TwitterClientCore. Użyj polecenia
dotnet build
, aby skompilować projekt. Następnie użyj poleceniadotnet run
, aby uruchomić aplikację. Aplikacja wysyła tweety do usługi Event Hubs.
Tworzenie zadania usługi Stream Analytics
Teraz, gdy zdarzenia tweetu są przesyłane strumieniowo w czasie rzeczywistym z X, możesz skonfigurować zadanie usługi Stream Analytics w celu analizowania tych zdarzeń w czasie rzeczywistym.
W witrynie Azure Portal przejdź do grupy zasobów i wybierz pozycję + Dodaj. Następnie wyszukaj zadanie usługi Stream Analytics i wybierz pozycję Utwórz.
Nazwij zadanie
socialx-sa-job
i określ subskrypcję, grupę zasobów i lokalizację.Dobrym pomysłem jest umieszczenie zadania i centrum zdarzeń w tym samym regionie w celu uzyskania najlepszej wydajności, dzięki czemu nie płacisz za przesyłanie danych między regionami.
Wybierz pozycję Utwórz. Następnie przejdź do zadania po zakończeniu wdrażania.
Określanie danych wejściowych zadania
W zadaniu usługi Stream Analytics wybierz pozycję Dane wejściowe z menu po lewej stronie w obszarze Topologia zadań.
Wybierz pozycję + Dodaj wejście>strumienia Centrum zdarzeń. Wypełnij formularz Nowe dane wejściowe następującymi informacjami:
Ustawienie Sugerowana wartość Opis Alias danych wejściowych TwitterStream Wprowadź alias dla danych wejściowych. Subskrypcja <Twoja subskrypcja> Wybierz subskrypcję platformy Azure, której chcesz użyć. Przestrzeń nazw usługi Event Hubs asa-x-eventhub Nazwa centrum zdarzeń socialx-eh Wybierz pozycję Użyj istniejącej. Następnie wybierz utworzone centrum zdarzeń. Typ kompresji zdarzeń Gzip Typ kompresji danych. Pozostaw pozostałe wartości domyślne i wybierz pozycję Zapisz.
Określanie zapytania zadania
Usługa Stream Analytics obsługuje prosty, deklaratywny model zapytań opisujący przekształcenia. Aby dowiedzieć się więcej na temat języka, zobacz Dokumentacja języka zapytań usługi Azure Stream Analytics. Ten przewodnik z instrukcjami ułatwia tworzenie i testowanie kilku zapytań dotyczących danych X.
Aby porównać liczbę wzmianek między tematami, możesz użyć okna Wirowania, aby uzyskać liczbę wzmianek według tematu co pięć sekund.
W obszarze Przegląd zadania wybierz pozycję Edytuj zapytanie w prawym górnym rogu pola Zapytanie. Platforma Azure wyświetla listę danych wejściowych i wyjściowych skonfigurowanych dla zadania i umożliwia utworzenie zapytania w celu przekształcenia strumienia wejściowego w miarę wysyłania ich do danych wyjściowych.
Zmień zapytanie w edytorze zapytań na następujące:
SELECT * FROM TwitterStream
Dane zdarzenia z komunikatów powinny być wyświetlane w oknie Podgląd danych wejściowych poniżej zapytania. Upewnij się, że dla widoku ustawiono format JSON. Jeśli nie widzisz żadnych danych, upewnij się, że generator danych wysyła zdarzenia do centrum zdarzeń i że wybrano Gzip jako typ kompresji dla danych wejściowych.
Wybierz pozycję Zapytanie testowe i zwróć uwagę na wyniki w oknie Wyniki testu poniżej zapytania.
Zmień zapytanie w edytorze kodu na następujące i wybierz pozycję Testuj zapytanie:
SELECT System.Timestamp as Time, text FROM TwitterStream WHERE text LIKE '%Azure%'
To zapytanie zwraca wszystkie tweety zawierające słowo kluczowe Azure.
Tworzenie ujścia wyjściowego
Teraz zdefiniowano strumień zdarzeń, dane wejściowe centrum zdarzeń w celu pozyskiwania zdarzeń i zapytanie w celu wykonania przekształcenia w strumieniu. Ostatnim krokiem jest zdefiniowanie ujścia danych wyjściowych dla zadania.
W tym przewodniku z instrukcjami napiszesz zagregowane zdarzenia tweetu z zapytania zadania do usługi Azure Blob Storage. Możesz również wypchnąć wyniki do usługi Azure SQL Database, Azure Table Storage, Event Hubs lub Power BI, w zależności od potrzeb aplikacji.
Określanie danych wyjściowych zadania
W sekcji Topologia zadania w menu nawigacji po lewej stronie wybierz pozycję Dane wyjściowe.
Na stronie Dane wyjściowe wybierz pozycję + Dodaj i Magazyn obiektów blob/Data Lake Storage Gen2:
- Alias danych wyjściowych: użyj nazwy
TwitterStream-Output
. - Opcje importu: wybierz pozycję Wybierz magazyn z subskrypcji.
- Konto magazynu. Wybierz swoje konto magazynu.
- Kontener. Wybierz pozycję Utwórz nową i wprowadź .
socialx
- Alias danych wyjściowych: użyj nazwy
Wybierz pozycję Zapisz.
Uruchamianie zadania
Określono dane wejściowe, zapytania i dane wyjściowe zadania. Wszystko jest gotowe do uruchomienia zadania usługi Stream Analytics.
Upewnij się, że aplikacja TwitterClientCore jest uruchomiona.
W przeglądzie zadania wybierz pozycję Uruchom.
Na stronie Start job (Start job) w polu Job output start time (Godzina rozpoczęcia danych wyjściowych zadania) wybierz pozycję Now (Teraz), a następnie wybierz pozycję Start (Uruchom).
Uzyskiwanie pomocy technicznej
Aby uzyskać dalszą pomoc, wypróbuj stronę pytań i odpowiedzi firmy Microsoft dotyczącą usługi Azure Stream Analytics.
Następne kroki
- Wprowadzenie do usługi Azure Stream Analytics
- Get started using Azure Stream Analytics (Rozpoczynanie pracy z usługą Azure Stream Analytics)
- Scale Azure Stream Analytics jobs (Skalowanie zadań usługi Azure Stream Analytics)
- Azure Stream Analytics Query Language Reference (Dokumentacja dotycząca języka zapytań usługi Azure Stream Analytics)
- Azure Stream Analytics Management REST API Reference (Dokumentacja interfejsu API REST zarządzania usługą Azure Stream Analytics)