EXASOL Anwendertreffen 2012 EXAPowerlytics
Feature-Architektur EXAPowerlytics In-Database Analytics Map / Reduce Algorithmen Skalare Fkt. Aggregats Fkt. Analytische Fkt. Hadoop Anbindung R LUA Python 2
Erweiterte Möglichkeiten durch EXAPowerlytics Scripting Focus: Funktionen, M/R Analysen, Statistik, Data Mining Sprachen: LUA, R, Python Laufen auf allen Knoten parallel Aufrufbar innerhalb von SQL Rückgabewert: jeglicher Datentyp oder Tabelle Bibliotheken: String, Math, Table, XML, HTTP, JSON, Numeric Verarbeitung unstrukturierter Daten inkl. Hadoop-Anbindung Verarbeitung externer Daten: direkt Skalare Funktionen, Aggregats- und analytische Funktionen mit Scripting-Sprachen 3
Vorteile, Möglichkeiten und Bausteine Verlagerung der Algorithmen zu den Daten Weniger Requests Client/Datenbank Massive Parallelisierung der Algorithmen Mit SQL nur schwer zu lösen: Text Tokenisierung, Indizierung und Suche Erstellen bestimmter Datenstrukturen, z.b. Graphen Data Mining und Machine Learning 4 verschiedene Funktionstypen: CREATE LUA/R/PYTHON SCALAR SCRIPT RETURNS (1 IN, 1 OUT) CREATE LUA/R/PYTHON SET SCRIPT RETURNS (* IN, 1 OUT) CREATE LUA/R/PYTHON SCALAR SCRIPT EMITS (1 IN, * OUT) CREATE LUA/R/PYTHON SET SCRIPT EMITS (* IN, * OUT) 4
5
Herausforderungen bei der Analyse von Online-Daten 1. Integration externer unstrukturierter Datenquellen a. Struktur einer Web-Site o. eines Blogs ermitteln b. Die einzelnen Seiten einlesen 2. Häufigkeit gewünschter Begriffe ermitteln a. Metadaten (HTML o.ä.) entfernen b. Nutzdaten in einzelne Begriffe (Wörter o. Wortgruppen) zerlegen c. Stopwords ( und, der, die ) filtern d. Begriffe normieren ( Bayern München = FC Bayern ) 3. Begriffsfrequenzen in Zusammenhang mit klassischen Kennzahlen bringen a. Begriffe auf Produkte abbilden ( Bayern München Trikots von FC Bayern München ) 4. Auswertungen über gewohntes Werkzeug (BI-Tool ) 7
Ergebnisse Automatisierte Prozesse zur Auswertung von Online- Publikationen laufen regelmäßig Die Daten werden mit Zeitstempel archiviert Über reguläre Reports werden entsprechende Zusammenhänge visuell aufbereitet Unterschiedlichste Kennzahlen können abgebildet werden Auch historische Auswertungen sind möglich Ausblick: Semantische Analyse der Publikationen (positiv, neutral, negativ etc.) Integration von Facebook, Google+, Twitter etc. 8
Beispiel: Erstellung einer interaktiven Tag Cloud 9
Powerlytics: Anwendungsbeispiel Begriffe Quelle: Medizinische Artikel aus 2011 (Pubmed) Ziel: Welche Themen beschäftigten Medizinforscher 2011 10
Herausforderung Lädt man die Artikel in eine Datenbank, stehen in einer Zeile Titel und Description 11
Herausforderung Um die Frequenzen für die Begriffe zu berechnen, geht man in folgenden Schritten vor: 1. Titel muss auf einzelne Wörter aufgesplittet werden. Diese Wörter müssen als eine Tabelle dargestellt werden. D.h., aus einer Zeile in der Datenbank müssen mehrere erstellt werden. 2. zusätzlich will man auch sog. Stopwords wie as, while usw. herausfiltern und 3. die Begriffe normieren, d.h. cell und cells, b-catenin und beta-catenin als einen denselben Begriff erkenntlichen machen Im Unterschied zu den Aufgaben 2 und 3, ist die Aufgabe 1 mit Hilfe von SQL nicht lösbar. 12
Lösung: EXAPowerlytics Die Aufgabe 1 wird mit Hilfe von einer user-defined skalaren Funktion (in LUA) gelöst, die den MAP-Schritt implementiert 13
Weitere Verarbeitung Die erstellte Funktion kann in die SELECT-Liste von einer Query einfach verwendet werden: Um die Aufgabe 2 und 3 zu lösen benötigen wir 2 Tabellen. Die erste enthält sog. Stopwords Die zweite enthält Übersetzungen : 14
View erstellen Nun haben wir alles, um eine View zu erstellen, die einen Begriff mit dem dazugehörigen ID zurückliefert. Die so erstellte View können wir in jedem BI-Tool weiter verarbeiten, so dass die meisten Nutzer die Vorteile von EXAPowerlytics nutzen können, ohne sich mit der Komplexität der Materie beschäftigen zu müssen 15
Ergebnis 16
Contact EXASOL AG Neumeyerstr. 48 90411 Nürnberg Fon: +49 911.23991.299 Fax: +49 911.23991.5299 Johannes Meier Presales Consultant johannes.meier@exasol.com 18