Daten visuell besser analysieren

In den letzten Blog-Einträgen bin ich zum einen auf Beispiele aus dem Hadoop-Framework (Big-Data-Analysen) und zum anderen auf notwendige Basisskills für erfolgreiche IT-Projekte eingegangen (Scrum und Design Thinking). Diese beiden Themengebiete haben zunächst keine direkten Gemeinsamkeiten. Wenn ich mir meine letzten Projekte allerdings anschaue, so möchte ich behaupten, dass eine Erweiterung der Basisskills um gewisse analytische Fähigkeiten, Daten auszuwerten, keineswegs schaden kann. Dazu muss man kein Big-Data- oder Hadoop-Spezialist sein. Aber wie oft steht man vor umfangreichen Datenbank-Abzügen und soll daraus z.B. mit Excel gewisse Auswertungen zu Häufigkeiten durchführen, um Richtungsentscheidungen, Strategien, etc. abzuleiten.
In diesem Zusammenhang möchte ich zwei alternative Werkzeuge empfehlen, welche zum Einstieg sehr gute Datenvisualisierungsmöglichkeiten bieten, auch für Fachanwender.
Die Unternehmen Tableau und Qlik gehören lt. Gartner Group zu den Leadern im Bereich Business Intelligence und Data Analytics. Beide bieten zum Einstieg mit Tableau Public und Qlik Sense freie Cloud-Versionen für Datenauswertungen und –visualisierungen an.
Näher eingehen möchte ich speziell auf Tableau, da hier zusätzlich auch eine kostenlose Desktop-Version angeboten wird, mit der man etwas mehr Gestaltungsmöglichkeiten hat. Gespeichert werden die Daten aber ebenso in der Cloud (kostenlose Version).
Möchte man beispielweise bei einer umfangreichen Tabelle mit vielen Spalten/Dimensionen herausfinden welche davon besonders stark korrelieren, kann man das zwar auch mit Excel in einer Pivot-Tabelle, aber je nach Anzahl der Merkmale wird das schnell sehr unübersichtlich. Mit Tableau Public lassen sich Tabellen in unterschiedlichen Formaten einlesen und die entsprechenden Dimensionen und vorhandene Kennzahlen werden vom Programm bereits in diesem Vorgang meistens gut erkannt und ausgewiesen. Man braucht nur noch die gewünschten Dimensionen und Kennzahlen auswählen und mit einer vorgeschlagenen, geeigneten Visualisierung kombinieren und schon hat man eine mehr oder weniger aussagefähige Grafik auf dem Schirm, welche als Ausgangspunkt für weitere, tiefergehende Analysen verwendet werden kann (siehe Beispiele am Ende des Textes). Natürlich kommt man mit den kostenlosen Versionen danach schnell an Grenzen, so dass sich für den professionellen Einsatz auf jeden Fall eine Abo- bzw. Business-Version lohnt. Aber zum Schnuppern um ein Gefühl für die Handhabung zu bekommen, lohnen sich die Public-Versionen auf jeden Fall.

Gepackte Blasen
Pasted Graphic

Heatmap
Pasted Graphic 2

Baumkarte
Pasted Graphic 3

Big Data - Small Start

„Daten sind das Öl des 21. Jahrhunderts“. Dieses Zitat ist mittlerweile in allen Branchen bekannt und gleichzeitig die Message wo die Reise hingehen soll: Big Data. Klar ist, dass man sich auch als IT-Consultant mit der Materie auseinandersetzen muss, insbesondere wenn man einen Datenbank-bzw. Data Warehouse Background hat. Wenn man heute Big Data sagt, so kommt man an Hadoop nicht vorbei. Das Hadoop-Ökosystem mit der Basis des HDFS-Filesystems und des Map-Reduce-Algorithmus bietet eine Vielzahl von Werkzeugen mit denen man eigentlich alle Anforderungen hinsichtlich Analyse und Datenspeicherung abdecken kann. Es gibt mehrere Möglichkeiten, wie man sich mit Hadoop auf einfache und kostengünstige Weise auseinandersetzen kann ohne gleich eine komplexe Infrastruktur aufbauen zu müssen. Auf die grundsätzliche Funktionsweise von Hadoop möchte ich hier nicht näher eingehen. Hadoop ist ein Apache Open Source Projekt, aber es gibt Hersteller, die entsprechende Bundles anbieten, wie es auch bei anderer Open Source Software mittlerweile üblich ist. Ich habe mir zwei Hersteller genauer angeschaut: MapR und Cloudera. Die Auswahl erfolgte subjektiv. Aus Zeitgründen wurden keine weiteren Anbieter betrachtet (z.B. Hortonworks), welche ggf. ähnliche Möglichkeiten bieten.
Bei beiden ist es möglich, sowohl eine Cloud-Lösung testweise aufzusetzen (z.B. über AWS) oder eine Appliance als Sandbox zu laden und in einer virtuellen Maschine (VM) zu installieren. Ich habe Letzteres getestet. Minimale Voraussetzung ist ein Rechner mit 8 GB Speicher und einer installierten VM. Bei mir ist es ein Ubuntu-Linux-Testrechner mit 8GB RAM und der VM-Lösung von Oracle (Virtualbox).
Beide Appliances (MapR und Cloudera) können von der Homepage als Download angefordert werden und werden anschließend in der Virtualbox als Appliance importiert. Das funktioniert reibungslos. Lediglich bei MapR wird in den Voreinstellungen 6GB max. virtueller Speicher verlangt, was bei einer Gesamtgröße von 8GB einige Warnungen hervorruft, da ggf. nicht mehr genügend Speicher für das Gesamtsystem zur Verfügung steht. Die Cloudera-Sandbox begnügt sich mit 4GB initial. Dennoch liefen beide Systeme und die mitgelieferten Tutorials konnten abgearbeitet werden.
Mit diesen Tutorials lassen sich in beiden Fällen das System und die enthaltenen Werkzeuge Schritt für Schritt erkunden. Beispieldaten werden ebenso mitgeliefert. Grundsätzlich hängt es natürlich davon ab, ob man eher ein Administrator oder ein Entwickler/Analytiker ist, welche konkreten Beispiele von Interesse sind.

MapR
MapR beinhaltet auf seiner Plattform herstellerspezifische Erweiterungen für HDFS und HBase (MapR-DB und MapR-DB), welche Performance und Skalierung weiter optimieren sollen (z.B. durch variable Blockgrößen, etc.). Für Administratoren wird im Tutorial u.a. der Umgang mit dem MapR Control System (MCS) gezeigt. Über dieses Dashboard-ähnliche System kann der Systemstatus überwacht werden, die Node-Administration erfolgen, etc. Die Entwickler-Beispiele möchte ich hier kurz skizzieren. Als Einstieg wird HUE (Hadoop User Experience) verwendet, eine Weboberfläche bzw. Portal unter welcher verschiedene Entwickler- bzw. Analyse-Werkzeuge zu finden sind und genutzt werden können.

Beispiel 1: HIVE
Import von Kundendaten (customer.csv) in das HDFS bzw. MapR-FS mit dem Filebrowser.
Anschließende Anlage von Tabellen für diese Kundendaten mit dem Metastoremanager.
Auswertung der Kundendaten mit HIVE (HQL).

Beispiel 2: PIG und OOZIE
Import von unstrukturiertem Text (us_constitution.txt) in das HDFS bzw. MapR-FS mit dem Filebrowser.
Anschließende Zählung und Gruppierung der enthaltenen Begriffe per MapReduce-Algorithmus mit PIG.
Anlage eines Jobs mit dem Job Designer für diese Aufgabe.
Definition eines Workflows für diesen Job mit OOZIE (Workflow Designer).

Neben HUE kann man natürlich auch Werkzeuge direkt im Terminal benutzen (Beispiele 3 und 4).

Beispiel 3: DRILL
Apache Drill erlaubt ANSI SQL kompatible Abfragen auf verschiedene Datenquellen (MapRDB/HBase, JSON-Files, CSV-Files, etc.) und kann diese kombinieren.
Die Drill-Shell wird im Terminal gestartet, der betr. Workspace ausgewählt und schon kann man per SQL auf die Daten zugreifen.

Beispiel 4: MAHOUT und Elasticsearch
Zu guter Letzt noch ein etwas umfangreicheres Machine-Learning-Beispiel:
Eine Filmdatei (movies.dat) wird per Python-Skript in ein JSON-Format konvertiert und anschließend in Elasticsearch zur Indizierung geladen
Eine andere Datei enthält Besucherbewertungen zu Filmen. Über die Command-Shell im Terminal wird ein Mahout-Job (itemsimilarity) gestartet, um in diesen Bewertungen Übereinstimmungen zu finden und in einer Ausgabedatei abzulegen.
Die betr. Übereinstimmungen werden als Indikator in Elasticsearch zum jeweiligen Film hinzugefügt.
Danach ist es möglich, Besuchern per Query in Elasticsearch Filme zu empfehlen, die der Bewertung seiner bereits gesehenen Filme entsprechen.
Aufbauend auf diesem einfachen Beispiel gibt es zusätzliche Informationen zum Thema „Recommendation Engine“.

Cloudera
Bei Cloudera funktioniert es ähnlich. Die Tutorials sind noch etwas didaktischer aufgebaut. Es werden drei verschiedene Use Cases vorgestellt, welche aufeinander aufbauen und den Nutzen gegenüber Stakeholdern darstellen sollen. Da sich die Werkzeuge aus dem Hadoop-Ökosystem bei beiden aber nicht groß unterscheiden werde ich auf die Einzelbeispiele bei Cloudera nicht eingehen.

Fazit
Die Sandboxes der gängigen Hersteller bieten eine gute Gelegenheit erste Bekanntschaft mit dem Hadoop-Ökosystem zu machen ohne große Investitionen tätigen zu müssen. Beide Hersteller liefern gute Tutorials mit. Während Cloudera zusätzlich Bezug auf Business Cases nimmt, bietet MapR neben der Test-Appliance kostenlose Online-Kurse an, um sich Hadoop-Grundlagen anzueignen.
Nov. 2019
Juli 2019
Nov. 2018
Apr. 2018
Okt. 2017
Feb. 2017
Nov. 2016
Aug. 2016
Juni 2016
Apr. 2016
März 2016
Feb. 2016