doag news 2013 - aufbau agiler discovery-applikationen mit oracle endeca

Download DOAG News 2013 - Aufbau agiler Discovery-Applikationen mit Oracle Endeca

Post on 03-Aug-2015

94 views

Category:

Data & Analytics

2 download

Embed Size (px)

TRANSCRIPT

1. Aufbau agiler BI- und Discovery-Applikationen mit Oracle Endeca Harald Erb ORACLE Deutschland B.V. & Co. KG, Frankfurt/Main Schlsselworte Business Analytics, Social Media Monitoring, Endeca, Information Discovery, Data Warehouse, Business Intelligence, Big Data, Exalytics, In-Memory, Faceted Data Model, gefhrte Navigation Einleitung Seit Jahrzehnten sttzen sich Unternehmen bei ihren Geschftsentscheidungen auf Transaktionsdaten, die in relationalen Datenbanken gespeichert sind. Neben diesen kritischen Daten gibt es aber noch eine Vielzahl an weiteren Quellen mit zum Teil weniger streng strukturierten Daten wie Dokumenten, Social Media Daten, Sensordaten, Internet Foren, Blogs, etc., die ntzliche Zusatzinformationen darstellen und erst ein ganzheitliches Bild auf geschftliche Zusammenhnge geben knnen. Immer mehr Unternehmen sind daher bemht, neben ihren herkmmlichen Unternehmensdaten auch die nicht traditionellen, aber potenziell ebenso wertvollen Daten fr ihre Business Intelligence-Analysen zu nutzen. In Ergnzung zu dem DOAG-Vortrag stellt dieser Artikel nicht nur das neue Produkt Oracle Endeca Information Discovery (OEID) vor, sondern setzt es in den Gesamtkontext der Business Analytics Strategie von Oracle. Denn mit der Big Data Appliance (BDA), Exadata und Exalytics bietet Oracle ein umfassendes und eng integriertes Produktportfolio an, dass die Gewinnung und Organisation unterschiedlicher Datentypen untersttzt und gemeinsam mit den vorhandenen Unternehmensdaten auf neue Erkenntnisse und versteckte Zusammenhnge hin analysierbar macht. Endeca Information Discovery untersttzt dabei auf neuartige Weise, in dem diese Lsung die Funktionen einer Suchmaschine mit der Leistungsfhigkeit eines Business Intelligence-Werkzeugs kombiniert. Social Media Monitoring im Laborbeispiel Liest oder hrt man ber Big Data Applikationen, so gehrt zu den hufig diskutierten Anwendungs- bereichen das systematische Beobachten und Analysieren von Social Media Beitrgen und Dialogen in Diskussionsforen, Weblogs, Communitys, etc., um u.a. die Zustimmung oder Ablehnung der Konsumenten zu Produkten, Services besser verstehen zu lernen. Fragt man etwas genauer nach, wie z.B. Sentiment Analysen praktisch umgesetzt werden sollen, dann hrt man eher unkonkrete Lsungsanstze. Die Oracle Business Analytics Plattform bietet die passende Infrastruktur fr die Umsetzung solcher Vorhaben. Bestehend aus der Big Data Appliance zur Bereitstellung von un- bzw. semi-strukturierten Ursprungsdaten; Exadata fr die kombinierte Analyse von Big Data und traditionellen Unternehmensdaten; Exalytics fr den Aufbau analytischer In-Memory Applikationen, enthlt sie alle notwendigen Funktionen fr die Entwicklung von Big Data (Warehouse) Applikationen. Alle Engineered Systems der Business Analytics Plattform sind per InfiniBand Netzwerkanbindung miteinander gekoppelt und erzielen zusammen eine herausragende Performance, sind uerst skalierbar und sicher. 2. Dieser Artikel beschreibt nachfolgend anhand eines Beispielszenarios (Thema: Mobilfunk) die vier wichtigsten Schritte, die fr die Entwicklung einer Analyse-Applikation im auf Basis der Oracle Business Analytics Plattform notwendig sind: Aquire Organize Analyze Decide (siehe Abb. 1). Abb. 1: Oracle Business Analytics Plattform vs. Entwicklungsschritte Neben vorhandenen Unternehmensdatenquellen (Data Warehouse, PLM-System, etc.) sollen Twitter Kurznachrichten die Datenbasis fr Social Media Analysen bilden, die spter in unserem Beispiels- zenario mit Oracle Endeca Information Discovery umgesetzt werden. 1. Aquire In unserem Beispiel mssen zunchst Twitter-Daten, eingeschrnkt nach eigenen Suchbegriffen, beschafft und direkt in die Hadoop Welt der Big Data Appliance (BDA) bertragen werden. Abb. 2 zeigt den Aufbau und die Bestandteile eines Tweets: Abb. 2: Aufbau und Inhalt einer Twitter Nachricht 3. Twitter stellt hierzu diverse Web Services APIs bereit (siehe Details zu den Schnittstellen unter http://dev.twitter.com), die es uns entweder erlauben, per Bulk-Collect (REST API) historische Tweets ber einen Zeitraum von 7 bis 10 Tagen zu erhalten, oder durch Nutzung der Streaming APIs kontinuierlich Tweets zu vorgegebenen Suchbegriffen oder einzelnen Usern in die Big Data Appliance zu laden. Voraussetzung fr das Abrufen der Twitter-Daten ist das Einrichten eines Twitter Developer Accounts, die Registrierung der eigenen lokalen Applikation bei Twitter und schlielich das Hinterlegen des Access Tokens innerhalb der BDA Umgebung. Twitter stellt die angeforderten Daten im XML-/JSON-Dateiformat bereit, daher bietet sich fr unser Szenario die dateiorientierte Speicherung der Twitter-Inhalte im Hadoop Distributed Filesystem (HDFS) der BDA an. Alternativ steht in der BDA fr die satzorientierte Speicherung der Social Media Daten die Oracle NoSQL Datenbank als Universal-Key-Value-Speicher zur Verfgung, die technisch auf Oracles Berkeley DB basiert. Abb. 3 zeigt berblicksweise, wie die Beschaffung der Twitter-Daten - hier im Beispiel mit dem Java- Programm twitter_search.jar - programmatisch umgesetzt werden kann: Mchte man nahezu in Echtzeit User-Statusmeldungen oder die Ergebnisse von eigenen Suchanfragen aus dem globalen Twitter-Stream abrufen, dann startet man mit Aufruf (Stream) einen Twitter Streaming Job, der die resultierenden Tweets in ein XML-Dateiformat wandelt und anschlieend fr die Weiterverarbeitung in ein Eingangsverzeichnis im verteilten Dateisystem (HDFS) der BDA speichert. ber diesen Weg erhlt man zusammen mit der Twitter Nachricht den Namen des Users, den Zeitstempel der Nachricht sowie einige User Metriken (Anzahl Follower und Anzahl Freunde). Alternativ lassen sich per Aufruf (Search) ltere Twitter-Daten mit eigenen Schlagworten durchsuchen. Im Ergebnis erhlt man zustzlich zu den gefundenen Tweets nur die Zeitangabe und den User Namen des Verfassers. Die o.g. User Metriken (social importance metrics), die wichtig fr die Bestimmung des Einflusses des Users in der Netzwelt sind, fehlen allerdings. ber einen User Lookup (Aufruf ) lt sich dieses Informationsdefizit allerdings beheben, in dem nachtrglich die Ergebisse der Twitter Suche (Aufruf ) um die User Metriken ergnzt werden. Abb. 3: Beispielszenario Einsammeln von Twitter Daten mit beteiligten Komponenten und Prozessflssen 4. Abb. 4: Konfiguration des Twitter Streaming/Search Jobs und Kategorisierung wichtiger Suchbegriffe Fr unser Beispielszenario werden rund um das Thema Mobilfunk die wichtigsten Suchbegriffe in einer einfachen Konfigurationsdatei hinterlegt und kategorisiert (Abb. 4). Z.B. bilden die Begriffe @iPhone, @iPhone3, @iPhone4 eine Kategorie IP. Die vom Twitter Streaming Job abgerufenen Ergebnisse werden dann bei der Umformatierung in ein XML-Ausgabeformat noch zustzlich um eine entsprechende Kategorieinformation erweitert. Dieser Verabeitungsschritt ermglicht spter das Organisieren der Daten mittels des Hadoop-Frameworks MapReduce. 2. Organize Nach der gezielten Beschaffung der Twitter-Daten findet in unserem Beispielszenario nun das Programmier-Framework MapReduce seine Anwendung. Ziel ist dabei die Durchfhrung einer Sentiment Analyse, um aus den Twitter Nachrichten systematisch die Konsumentenzustimmung bzw. -ablehnung zu Produkten oder Services ermitteln zu knnen (siehe Abb. 5). Die Sentiment Analyse selbst ist simpel gehalten: der Text eines Tweets wird tokenisiert, ein Fuzzy-Match-Algorithmus durchsucht dafr hinterlegte Wrterbcher nach passenden positiven oder negativen Wrtern. Wird ein positives Wort gefunden, erhht sich der Sentiment Score um ein Inkrement, bei negativen Treffern reduziert sich der Score entsprechend. Fr die Anwendung anspruchsvollerer Methoden bietet die Oracle Big Data Appliance zustzliche In-Database Funktionen, wie z.B. Text Mining, Data Mining, die Statistikumgebung Project R oder untersttzt auch Semantikanalysen. Abb. 5: Beispielszenario Sentiment Score der Tweet Nachrichten berechnen 5. Die MapReduce Jobs fassen bei unserem Mobilfunkbeispiel in der Mapper-Phase die Tweets und ihre errechneten Sentiment Scores nach bestimmten Kriterien zusammen: z.B. auf Tagesbasis, nach Telekommunikationsprovidern (VF = Vodafone), nach den im Aquire-Schritt festgelegten Tweet- Kategorien (Staff, Contracts, iPhone, etc.), nach Twitter Usern, usw. Im Ergebnis produziert der Mapper Key-Value-Paare (siehe Abb. 6), die im Anschluss die Shuffle & Sort Phase durchlaufen bevor sie an den Reducer bergeben werden. Abb. 6: Beispielszenario Map Filtern und Interpretieren der Twitter Daten Fr unser Beispielszenario fasst Abb. 7 die beteiligten Komponenten (reprsentiert durch das Java- Programm mobile_mr.jar) und die in der Mapper-Phase zu erledigenden Aufgaben zusammen. Abb. 7: Zugehrigen Komponenten fr das Map Beispielszenario In der Reducer-Phase erfolgt schlielich die Weiterverarbeitung der sortierten Schlssel und Werte- Arrays. Im Beispielszenario entstehen dabei neue Key-Value-Paare mit nun zwei Metriken: dem aufsummierten Sentiment Score und die Anzahl der Vorkommnisse pro Schlssel (vgl. hierzu Abb. 8). Der letzte Schritt ist wiederum die Ausgabe der vom Reducer generierten finalen Key-Value-Paare, die nun als Textdateien im HDFS abgelegt werden (pro MapReduce Job ein eigenes Verzeichnis). 6. Abb.8: Beispielszenario Reduce mit den beteiligten Komponenten An dieser Stelle knnte man in der Big Data Appliance mit Hive, einem mchtigen MapReduce-Job, erste Auswertungen durchfhren, ohne eine Oracle Datenbank dazu zu verwenden. Hive erweitert Hadoop mit einer eigenen Anfragesprache HQL um Data-Warehouse-Funktionalitten. HQL basiert auf SQL und ermglicht dem Entwickler somit die Verwendung einer SQL-hnlichen Syntax. In unserem Beispiel soll spter einmal der Marketing-Bereich eines Telekomunikationsanbieters mit Oracle Endeca Information Discovery die Tonalitt der Twitter-Posts seiner Konsumenten fr eine gezielte Kundenansprache nutzen knnen. Dafr werden die Ergebisse der MapReduce-Jobs mit dem Oracle Direct Connec