Analytik Mittels R als übergreifende Plattform Detlef E. Schröder Oracle DWH Community STCC DB Mitte @DetEgbSchroeder, http://www.oracledwh.de Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Themen Anforderungen an Datenmanagement R - Grundsätzliches Die Datendrehscheibe Datenbank – Oracle Hadoop XML Office R- in der Mitte Fragen und Antworten Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Anforderungen an Datenmanagement Eingabe Verarbeitung Ausgabe • Hadoop – Big Data • Bereinigen • Grafiken • klassische Dateien XSLX,TXT,LST,Mail • Transformieren • Tabellen • Analysieren • Excel / Office • Anreichern • SQL • Mining • Druck • Web Inhalte – Referenzdaten • Datenbanken • Oracle • Streams Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 3 Anforderungen an Datenmanagement Eingabe Verarbeitung Ausgabe • Hadoop – Big Data • Bereinigen • Grafiken • klassische Dateien XSLX,TXT,LST,Mail • Transformieren • Tabellen • Analysieren • Excel / Office • Anreichern • SQL • Mining • Druck • Web Inhalte – Referenzdaten • Datenbanken • Oracle • Streams Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 4 R - Grundsätzliches Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 5 R – Überblick R Statistische Programmiersprache PCA 5 • OPEN SOURCE Sprache und Umgebung • STATISTISCHE BERCHNUNUNGEN und Graphik onlin e retur ns histor y users • STÄRKE liegt in der schnellen graphischen Aufbereitung (Plots) sales • >5,300 (statistische) Packages • Zugriff auf quasi alle Technologien • LEICHT ERWEITERBAR durch Open Source Community Clustering 4 Groups Factor 1 28 16 2 8 0 6 0 4 0 2 0 0 1 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Factor 3 Warum sollte man sich für R interessieren • Gehört zu den neuen aufkommenden Trends – Next “big thing” in Avanced Analytics – Moderne statistische Programmiersprache – Ausbildungsinstitute und Universitäten nutzen R für die Ausbildung und ersetzen damit traditionelle Tools – Advanced Analytics ist zunehmend kritisches Unterscheidungsmerkmal im DWH Technologie Stack • R wird durch Oracle R Enterprise skalierbar • Kostengünstige Alternative zu SAS Kernfunktionalität Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Daten-Visualisierung mit R • http://gallery.r-enthusiasts.com/ Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle R-Angebote • Oracle R Distribution – Free download, pre-installed on Oracle Big Data Appliance, bundled with Oracle Linux – Enterprise support for customers of Oracle R Enterprise, Big Data Appliance, and Oracle Linux – Contribute bug fixes and enhancements to open source R • ROracle – Open source Oracle database interface driver for R based on OCI – Maintainer is Oracle – rebuilt from the ground up – Many bug fixes and optimizations • Oracle R Enterprise – Transparent access to database-resident data from R – Embedded R script execution through database managed R engines – Statistics engine • Oracle R Connector for Hadoop – R interface to Oracle Hadoop Cluster on BDA – Access and manipulate data in HDFS, database, and file system – Write MapReduce functions using R and execute through natural R interface Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Die Datendrehscheibe Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 10 Lesen und schreiben in dei Oracle DB Mögliche Szenarien mit Oracle R-Enterprise File System File System R Engine Direkten Zugriff auf alle Tabellen in der Datenbank R Engine Auslagern der Analysen in die Datenbank Zurückholen der Ergebnisse Parallelisierung durch die Datenbank R Engine Engine RREngine R Engine Anlegen neuer Objekte in der Datenbank R Engine R-Analysen über SQL-Funktionen (Batch) File System Parallelisierung durch die Datenbank SQL Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | R Engine Engine RREngine R Engine Transparency Layer Support • ORE bietet eine “in-database execution” – Funktionalität als transparente Schicht an • What’s transparent about it? – R Benutzter benötigen nur R Syntax – Benutzer sehen Datenbank-Objeckte als spezielle R Objekte – Unterstützt weden fast alle R-Funktionen des Basis-Pakets – Unterstützt R's Statistik und Graphik-Pakete • Funktional vergleichbar mit SAS DATA STEP, läuft allerdings in-Datenbank! Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | ORE Packages Package ORE OREbase OREstat OREgraphics OREeda Description Top Level Package for Oracle R Enterprise Corresponds to R’s base package Corresponds to R’s stat package Corresponds to R’s graphics package ORE’s exploratory data analysis package containing SAS PROC-equivalent functionality ORExml ORE’s package supporting XML translation between R and Oracle Database – internal Oracle R Hadoop Connector ORHC Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Invoke in-database aggregation function aggdata <- aggregate(ONTIME_S$DEST, by = list(ONTIME_S$DEST), FUN = length) class(aggdata) head(aggdata) R user on desktop Source data is an ore.frame ONTIME_S, which resides in Oracle Database The aggregate() function has been overloaded to accept ORE frames aggregate() transparently switches between code that works with standard R data.frames and ore.frames Returns an ore.frame Client R Engine Transparency Layer Oracle R package Other R packages select DEST, count(*) from ONTIME_S group by DEST Oracle Database In-db stats User tables Copyright © 2014 Oracle and/or its affiliates. All rights reserved. ©2012 Oracle – All Rights Reserved | Gezieltes Ansteuern einer Verarbeitungsvariante (Beispiel Regressions Modell) mod <- ore.doEval( function(param) { library(ORE) ore.connect(user="RQUSER", password="RQUSER„, sid="ORCL", host="192.168.1.16",port=1521) ore.sync() ore.attach() mod <- lm(ARRDELAY ~ DISTANCE + DEPDELAY, dat) return (mod) }); mod_local <- ore.pull(mod) class(mod_local) summary(mod_local) Daten bleiben im Memory Der Oracle Datenbank Laufzeit: 3 Sekunden mod <- ore.doEval( function(param) { dat <- ore.pull(ONTIME_S) mod <- lm(ARRDELAY ~ DISTANCE + DEPDELAY, dat) return( mod ) }); mod_local <- ore.pull(mod) class(mod_local) summary(mod_local) Daten im Memory der R-Engine auf dem DB-Server Laufzeit: 110 Sekunden Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | R on Hadoop Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 16 Integrierte R Umgebung Oracle R Connector for Hadoop Client Host Native R MapReduce Native R HDFS Zugriff Mehr Produktivität R Engine Oracle Big Data Appliance Oracle Exadata R Engine ORE ORHC ORHC Hadoop Cluster Software MapReduce Nodes HDFS Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | R Engine ORE R on Files • TXT – Read.table • > meinetabelle <- read.table("/Pfad/zur/Tabelle.txt", header=TRUE) • CSV – Read.csv • XLS – read.xls und andere • ODBC – RODBC für alle Files, für die es ODBC Verbindungen gibt Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 18 R on http • Rcurl – Zeilenweise lesen eines http – Requests – Verarbeiten von <> Tags • Standard Informationen auf Wikipedia ... Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 19 R – in der Mitte Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | SQL – Datenbank als Integration • SQL auf R - Funktionen • SQL auf Datenbankobjekte • SQL auf Hadoop durch die DB (Big Data SQL) Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 21 XML – als Integration • Für Grafiken und Tabellen • Als Basis für alles was XML spricht • Berichtswesen – Z.B: OBIP – Oracle BI Publisher Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 22 Anzeige über Business Intelligence Als Funktion oder gespeicherte Ergebnisse Das Kundenranking wird mit in den Berichten angezeigt Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Einbindung von R-Grafiken in OBIEE Mit Parametern Copyright © 2014 Oracle and/or its affiliates. All rights reserved. ©2011 Oracle – All Rights Reserved | Grafiken exportieren • JPG, PNG, BMP, TIFF, SVG, EPS, ... • Direkt in ein Verzeichnis für weitere Nutzung Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 25 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | XLS(X) – In die Officewelt • Aus R in Excel • Für Tabellen und Berechnungen • Öffnet in die Anwenderschicht – write.xls() oder xlsReadWrite als Package Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 30 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |