Analytik Mittels R als übergreifende Plattform

Transcription

Analytik Mittels R als übergreifende Plattform
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. |