Udostępnij za pośrednictwem


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

Diagram przedstawiający różne usługi i aplikacje używane do tworzenia rozwiązania.

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.

  1. 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ń.

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

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

  4. Wybierz pozycję Utwórz.

  5. Po wdrożeniu zasad wybierz zasady z listy zasad dostępu współdzielonego.

  6. Znajdź pole z etykietą Parametry połączenia klucz podstawowy i wybierz przycisk kopiowania obok parametry połączenia.

  7. 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, , SharedAccessKeyNameSharedAccessKeyi 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.

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

    Zrzut ekranu przedstawia przycisk Utwórz aplikację.

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

    Zrzut ekranu przedstawia okienko Szczegóły aplikacji, w którym można wprowadzić wartości dla aplikacji.

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

  1. Upewnij się, że pobrano aplikację TwitterClientCore zgodnie z wymaganiami wstępnymi.

  2. 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).
  3. 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 polecenia dotnet 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.

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

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

  3. Wybierz pozycję Utwórz. Następnie przejdź do zadania po zakończeniu wdrażania.

Określanie danych wejściowych zadania

  1. W zadaniu usługi Stream Analytics wybierz pozycję Dane wejściowe z menu po lewej stronie w obszarze Topologia zadań.

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

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

  2. Zmień zapytanie w edytorze zapytań na następujące:

    SELECT *
    FROM TwitterStream
    
  3. 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.

  4. Wybierz pozycję Zapytanie testowe i zwróć uwagę na wyniki w oknie Wyniki testu poniżej zapytania.

  5. 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%'
    
  6. 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

  1. W sekcji Topologia zadania w menu nawigacji po lewej stronie wybierz pozycję Dane wyjściowe.

  2. 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
  3. 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.

  1. Upewnij się, że aplikacja TwitterClientCore jest uruchomiona.

  2. W przeglądzie zadania wybierz pozycję Uruchom.

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