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 www.twitterbigdata.codeplex.com 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
      1. HDInsight Cluster erstellen
      2. Hive
    5. Virtuelle Maschine
      1. WebSockets
      2. StreamInsight
      3. Port/Firewall-Einstellungen
      4. Internet Information Services (IIS)
      5. Visual Studio Solution TwitterCEP
      6. Twitter Streaming
      7. Letzte Sachen…
    6. Demo-Maschine
      1. CloudXplorer
      2. ODBC Driver
  4. Demo
    1. Letzte Vorbereitung…
      1. Daten sammeln
      2. Hive-Analyse starten
      3. Refresh Data in PowerPivot
    2. Show Time
      1. Echtzeit-Dashboard
      2. SQL Datenbank
      3. Windows Azure Blob Storage
      4. Big Data: Analyse mit Hive auf HDInsight
      5. Zusammenführen der Daten in PowerPivot
      6. Visualisierung in PowerView
            

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:

01 Big Data 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:

01 Big Picture Technologien

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

01 Big Picture

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.