SAP HANA als Analytics Plattform

Die Analyse und das Prozessieren von großen Datenmengen fordert gleichermaßen eine performante, wie auch flexible Plattform. Im nachfolgenden Case wird SAP HANA, am Beispiel eines Einzelhändlers mit ca. 1200 Filialen, dass zentrale Hub dieser Plattform bilden.

../Graph/Landscape_Overview.png

Abbildung 1: Plattformüberblick

Ziel des Projekts ist die Vorhersage der Filialbesuche pro Tag, für den nächsten Monat. Die Grunddaten der Filialen werden durch Subsysteme in strukturierter Form in der SAP HANA Datenbank gespeichert. Für eine exakte Vorhersage ist die Anreicherung der bestehenden Filialdaten nötig. Hierzu werden Informationen aus Wettervorhersagen, wichtigen Events, Ferien, etc. integriert.

Datensammlung

Integration von Wetterdaten

Für die Abspeicherung der Wetterdaten wurde das Hadoop Filesystem (HDFS) verwendet. Dies hat den Vorteil, auf günstiger Hardware, jegliche Art von Information ablegen zu können, ohne dabei limitiert in der Größe der Datenmenge zu sein. Durch das Hinzufügen neuer Hardwareinstanzen (horizontales Skalieren), kann ein anfänglich kleines Cluster, um beliebig viel Speicherplatz und Redundanz erweitert werden.

Abbildung 2: File View der Wetterdaten auf dem HDFS

Um die im HDFS gespeicherten Daten analysierbar zu machen, müssen diese in eine strukturierte Form überführt werden. Dies geschieht durch den Einsatz von Apache Hive – einem Tool, das nativ im Hadoop Ökosystem integriert ist. Hive bietet die Möglichkeit unstrukturierte Information, in strukturierte Information zu überführen, ohne weiteren Speicherplatz zu belegen. Dies wir durch das erzeugen einer Metaebene über dem HDFS ermöglicht. Zudem verfügt Hive über die Möglichkeit, Strukturen im HDFS zu erkennen.

Im Falle der Wetterdaten, werden neu hinzukommende Dateien über die Metastruktur in die resultierende relationale Tabelle eingebunden, ohne das Anpassungen am System erfolgen müssen. Für große Datenmengen bietet sich an dieser Stelle die Einführung von Partitionen an, welche über eine Ordnerstruktur im HDFS eine Filteroption in Hive bedingen.

Abbildung 3: Hive View – alle Wetterdaten werden Automatisch in eine Hive-Tabelle integriert

Integration von Webinformationen

../Graph/Integrate_Web_Information.png

Abbildung 4: Integration von Webinformation

Zur Integration von Ferien und Ortsinformationen wurden zwei Methoden verwendet: Das Crawlen und Parsen von Webseiten und die Abfrage der Google Places REST API. Hierzu wurde die Integration des R Servers an die HANA genutzt. Dieser stellt leistungsfähige Pakete von R bereit, die eine effiziente Integration von Webinformationen ermöglichen.

Für das Sammeln von Ferieninformationen wurden mithilfe einer R Library strukturierte Informationen aus HTML Quellcode extrahiert, welche anschließend in HANA Tabellen gespeichert wurden.

Die Integration der Google Places API erfolgte über ein R Paket, welches REST Anfragen an eine Web API sendet und Antworten empfangen kann. Die JSON Antwort wurde wiederrum transformiert und in HANA Tabellen gespeichert.

Systemintegration

Um SAP Hana als Analytics Plattform für den o.g. Case nutzen zu können, ist die Integration von R und Hadoop von entscheidender Bedeutung.

Um Hadoop zu integrieren, wurde Hive über den SAP Data Provisioning Agent an die HANA Datenbank angebunden. Somit kann die durch Hive bereitgestellte, strukturierte Information in der SAP HANA über virtuelle Tabellen dargestellt und bei Bedarf persistiert werden.

Abbildung 5: Virtuelle Tabelle im HANA Studio

Abbildung 6: Preview der Daten, welche physisch im HDFS liegen (Ladezeit < 1s)

Die Integration von R erfolgt über die in der HANA bereitgestellte R-Schnittstelle. Die Integration des RServers in die HANA geht über das Versenden von „Passthrough“ Abfragen hinaus. Abfragen werden Optimiert um den Transport von Daten zwischen dem RServer und der HANA Datenbank zu minimieren. Des Weiteren wird das Timing der Abfragen im Execution Plan der HANA Datenbank überwacht und gesteuert.

Datenvorbereitung

Für eine erfolgreiche Datenmodellierung ist eine intensive Datenexploration, Bereinigung und Korrektur nötig.

Um ein erstes Gefühl für die Datenqualität zu bekommen, bieten sich Histogramme und Heatmaps als Visualisierungsmöglichkeit an.

Abbildung 7: Verteilung Besucher pro Filiale pro Tag mithilfe eines Histogramms

Das oben abgebildete Histogramm stellt die Verteilung der Anzahl Besucher pro Tag pro Filiale dar. Dabei werden die Besucheranzahlen in eine Kategorie eingeordnet (Binning). Bei dem o.g. Beispiel würden 580 Besucher für den Tag 25.12.2014 in der Filiale 28 in die Kategorie 400-600 Besucher pro Tag zählen. Anhand der im Histogramm dargestellt Verteilung, kann entschieden werden, ob die Variable mathematisch Transformiert werden muss. In diesem Fall ist es möglich, mithilfe der Logarithmus Funktion die Daten in die Form einer Gaußschen Glockenkurve zu transformieren.

Abbildung 8: Logarithmisch Transformierte Verteilung der Kundenanzahl pro Tag pro Filiale

Abbildung 9: Heatmap mit Filialen auf der x-Achse und Zeit auf der y-Achse. Farbe der Zelle entspricht Kundenanzahl pro Tag. Rot = fehlender Datensatz

Eine weitere Methode der explorativen Datenanalyse ist die Suche nach fehlenden Datensätzen mit Hilfe einer Heatmap. In der oben dargestellten Version werden die einzelnen Filialen auf der x-Achse und das Datum auf der y-Achse abgetragen. Die Farbe jeder Zelle wird über die Kundenanzahl pro Trag bestimmt. Je mehr Kunden an einem Tag die Filiale besucht haben, desto heller ist eine Zelle eingefärbt. Tage ohne Daten sind Rot markiert.

Nach der Exploration der Daten und der Integration von Business Know-How ist es möglich, Features für die Modellierung zu generieren. Ein Feature kann bspw. „Tage seit dem Start einer Werbeaktion“ sein. Am Ende der Feature Entwicklung werden ca. 50 Parameter in die Datenmodellierung übergeben.

Datenmodellierung

Die Modellierung der Daten erfolgt auf zwei Arten.

Erstens, mithilfe PAL Algorithmen, die nativ in der HANA implementiert sind, zweitens, mit Algorithmen in R, um diese zu vergleichen.

Die genutzten Algorithmen stammen aus der Klasse der „Supervised Learning“ Verfahren. Hierbei wird ein historischer Datensatz genutzt, um die Parameter des mathematischen Modells zu bestimmen. Dieser Datensatz umfasst einerseits die Labels, in dem Use-Case die Anzahl Kunden pro Tag pro Filiale, und die Features.

../Graph/Machine%20Learning%20-%20Algorithems.png

Abbildung 10: Übersicht Machine Learning Algorithmen (kein Anspruch auf Vollständigkeit)

Für die Vorhersage der Filialaktivität werden die Logistische Regression mit einer komplexen Version des Entscheidungsbaums, dem Random Forest, verglichen.

Abbildung 11: Random Forest Modellierung im Application Function Modeler der HANA

Dass Verfahren der Logistischen Regression ist mit dem Verfahren einer Linearen Regression vergleichbar. Die Lineare Regression versagt aber, sobald kategorische Features, wie der Typ einer Filiale, verwendet werden.

Das Random Forest Verfahren ist eine Erweiterung eines einfachen Entscheidungs-baums. Hierbei werden mehrere Entscheidungsbäume trainiert. Dabei werden zufällig Features und Datenpunkte für das Training gewählt, um das finale Modell robuster zu machen. Robuster bedeutet hierbei, dass die Vorhersage gegenüber unerwarteten Systemänderungen stabiler ist. Das finale Resultat wird durch die Mittelung über alle Entscheidungsbäume generiert.

Abbildung 12: Schematische Darstellung des Random Forest Verfahrens

Der Vergleich der Methoden erfolgt über den Vorhersagefehler. Dieser beschreibt, wie stark die Vorhersage vom wirklichen Wert im Mittel abweicht. Das Resultat der Vorhersage ist in Abbildung 11 für eine Filiale dargestellt.

Abbildung 13: Rot vorhergesagte, Grün tatsächliche Besucherzahlen pro Tag im Monat für eine Filiale

Zusammenfassung

Mithilfe der SAP HANA als zentrale Schnittstelle und Prozessierungsplattform, ist die Integration, Analyse und Modellierung von komplexen Daten effizient möglich. Durch die Flexible Integration von Plattformen wie Hadoop und R können auch Daten verarbeitet und analysiert werden, welche nichtstrukturiert sind und nicht in einem „ordentlichen“ Quellsystem vorliegen. Des Weiteren bietet die R Integration die Möglichkeit, Daten effektiv zu modellieren Hier können auch Verfahren genutzt werden, die nicht in SAP HANA implementiert sind.

Am Ende stellt sich dann noch die Frage, wie die gewonnenen Ergebnisse in den Business Workflow integriert werden können. Hier bietet sich zum einen das SAP BO Design Studio an, oder die Verwendung des von R bereitgestellten Shiny Dashboards.

Getagged mit: , , , , , , , , , , , , , ,
Ein Kommentar auf “SAP HANA als Analytics Plattform
  1. Christian H. sagt:

    vielen Dank für diese sehr gute Beschreibung, wie SAP HANA, Hadoop, R und Shiny kombiniert werden können. Habe als Student gute Erfahrungen mit R und Shiny gemacht und bin nun neu im SAP Bereich. Daher hilft mir die Beschreibung sehr.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*