Big Data Twitter Demo (1) – Big Picture

Big Data hört man überall. Von dem niedlichen gelben kleinen Elefanten Hadoop ebenfalls. Auf der TechNet Conference bin ich der Frage nachgegangen, was Microsoft überhaupt mit Big Data zu tun hat (Big Data mit Microsoft? Wie HDInsight, SQL Server 2014 und Excel zusammenspielen). In dem Vortrag habe ich ein Big Data Szenario aufgebaut, welches ich nun in diesem drei-teiligen Tutorial näher erläutern möchte.

Was bringt mir dieser Drei-Teiler? Du kannst selber ein Big Data Szenario aufbauen, und das anhand von Twitter Daten, von denen es reichlich viel öffentlich und real-time gibt! Hierbei sehen wir ein schönes Zusammenspiel von Windows Azure, SQL und Excel.

Diese Demo ist basiert auf der großartigen Lösung auf CodePlex von Microsoft-Kollegen.

Dieses Tutorial besteht aus folgenden Punkten:

  1. Das Problem
  2. The Big Picture
  3. Aufbau
    1. Voraussetzungen
    2. Speicherkonto und Virtuelle Maschine in Windows Azure
    3. SQL Azure Datenbank in Windows Azure
    4. HDInsight
    5. Virtuelle Maschine
    6. Demo-Maschine
  4. Demo
    1. Letzte Vorbereitung…
    2. Show Time

Das Problem

Nehmen wir an, wir haben eine Marketing-Kampagne gestartet und möchten dessen Auswirkungen verfolgen. Twitter eignet sich ganz gut dafür, um in Echtzeit bei hoher Skalierung zu sehen, wie die Kampagne ankommt.

The Big Picture

Diese Big Data Twitter Demo basiert auf folgendem Workflow:

Daten werden zunächst extrahiert und verwaltet. Im zweiten Schritt werden diese nach Belieben analysiert. Nach der Datenanalyse sind Erkenntnisse wichtig, um auf denen agieren zu können. Dieser Prozess ist dem bereits bekannten ETL-Prozess (Extract, Transform, Load) sehr ähnlich.

In dieser Demo nutzen wir verschiedene Produkte, mit denen wir zunächst die relevanten Daten extrahieren, speichern, analysieren und aus denen wir daraufhin Erkenntnisse ziehen können: Windows Azure, SQL, StreamInsight, HDInsight und Excel. Das Zusammenspiel aus der Sichtweise der Technologien sieht dann so aus:

Das Big Picture unserer Bit Data Twitter Demo sieht im Detail folgendermaßen aus:

Allgemein gehalten: Twitter-Daten werden in Echtzeit von einer Visual Studio Solution extrahiert, die auf einer Virtuellen Maschine in Azure läuft. Es werden nicht alle Tweets extrahiert, sondern nur diejenigen mit Hashtags, die wir im Voraus definiert haben, z.B. TechNetConf, die TechNet Conference (unsere größte Fachkonferenz für IT Professionals in Deutschland). In der virtuellen Maschine können wir in Echtzeit anhand eines Dashboards sehen, wie viele Tweets weltweit momentan zu vorgegebenen Hashtags gepostet werden und was deren Sentiment ist (positiv/negativ/neutral).

Diese Tweets werden durch StreamInsight extrahiert und weitergeleitet zu Speichern: Zum einen werden schlichtweg ALLE Informationen, die wir zu jedem Tweet erhalten, in einem Windows Azure Blob Storage gespeichert; kurz: es ist keine Struktur im Blob Storage vorzufinden. Zum anderen werden bestimmte Informationen in eine Datenstruktur in der SQL Azure Datenbank gespeichert: Tweet ID, Zeitpunkt, Sentiment, Keyword.

Die Analyse wird allein im HDInsight Cluster vollzogen (rechts oben). Mit Hilfe von Hadoop und Hive werden tabellenähnliche Datenstrukturen aus den Daten des Blob Storages erstellt: Tweet Details, Tweet-Koordinaten, Tweet Hashtags, Tweeter (der, der gezwitschert hat), und Tweet User Mentions (wie beliebt ist der Zwitscherer?).

Weil die Kommando-Konsole vom UX Standpunkt weniger prickelnd ist, führen wir verschiedene Datenquellen in Excel (spezifischer: PowerPivot) zusammen, um die gewonnenen Daten per PowerView schöner zu visualisieren und einfacher aus denen Erkenntnisse zu ziehen.

Bevor wir den Workflow uns genauer ansehen wollen, muss die Infrastruktur erst mal stehen. Den Aufbau werden wir hier durchgehen.

comments powered by Disqus