Oracle R zum Anfassen

Werbung
Oracle R zum Anfassen
Alfred Schlaucher
Oracle Deutschland (Data Warehouse)
Oliver Bracht
Andreas Prawitt
Oracle Partner eoda
Oracle R zum Anfassen: Die Themen
09:30
09:45
10:15
Begrüßung
R – Zum Anfassen – Einführung
Minikurs in der Sprache R
Sprachmittel, Hilfen, GUIs zum Erstellen der Skripte
Schnell und einfach ansprechende Grafiken erstellen
11:00
11:15
Pause
Showcase Teil 1: Data Mining mit R
Vergleich der Genauigkeit zweier Modelle
11:35
Oracle R Enterprise
Einfache Anwendung, Performance
12:20
13:00
Showcase Teil 2:
Data Mining mit R in der Oracle Datenbank
Mittagspause
Big Data & R
Hadoop, Map Reduce & R
R als Instrument für Prototyping für Big Data
13:30
2
Abschließende Fragen
Oracle und R
Oracle: Schwergewicht
im Datenbank- und Data
Warehouse-Segment
Tradition im Umgang mit
statistischen Analyse /
Data Mining
Symbiose Open Source
R mit Oracle
3
Potentielle Informationsschätze
Alle Kundenkontaktpunkte
Alle Geschäftsbeziehungen zu
dem Kunden
Alle historischen Daten
Alle öffentlich verfügbaren
Kundendaten
Plus soziographische
Informationen (Referenzdaten)
360°
Ergeben ein vollständiges Bild
+ neue Geschäftsoptionen
5
Informationsdrehscheibe für alle (!) Sachgebiete
Harmonisieren
Einheitliche
verbundene
Stammdaten
Einheitliches
Verständnis über
Sachverhalte
Standardisierte
Kennzahlen
Modelle
Simulation
Data
Integration
Layer
Enterprise
Information
Layer
User
View
Layer
Advanced
Analytics
Referenzdaten
Stammdaten
Bewegungsdaten
Ad-hoc Query
& Reporting
Standardisierte
Berichte
Stammdaten
Referenzdaten
Bewegungsdaten
7
Neutrale Sicht auf
alle UnternehmensBereiche
Flexibel für alle
Endebenutzer
zugänglich
Analyseverfahren schon im Data Warehouse
vorbereiten
Alle Modellformen in
einem System
Umfangreichste
R-Unterstützung
Integriertes Data Mining
Multidimensionale
Speicherung als Add On
zum Star
Star Schema und 3 NF
8
User View Layer
MiningStruktur
Modelle
Simulation
Oracle R Enterprise
Oracle Data Miner
Advanced
Analytics
Würfel
Oracle OLAP
Ad-hoc Query
& Reporting
Relational
Any SQL
Standardisierte
Berichte
R historisch
Freie Programmiersprache für statistisches Rechnen
und statistische Grafiken
Anlehnung an S und Scheme
Ursprünglich 1992 von Ross Ihaka und
Robert Gentleman an der Universität Auckland entwickelt
Seit 1995 GNU – Projekt (freie Software)
http://www.R-project.org/
Über Pakete-Konzept beliebig erweiterbar (> 6000)
Pakete werden verwaltet und verbreitet über
Comprehensive R Archive Network (CRAN)
Einsatz an den Universitäten,
zunehmend auch im kommerziellen Bereich
Als Ersatz für SAS und SPSS geeignet
9
TIOBE
Programming Community
Index for September 2013
10
Zur Einordnung
R – universelles Sprachmittel
- Flexible Sprache
- Formulieren beliebiger Aufgabenstellungen
- Geringe Einsatzhürden
- mehr und flexiblere Analyse-Verfahren
- individuelles Vorgehen
- Plattform-unabhängig
Zusätzliches Arbeitsumfeld
für Oracle
- Leichte Bereitstellung von Oracle-DB-Daten
- Zugang für nicht – SQL- affine MA
- Erweiterung der Einsatzmöglichkeiten von R
durch R - Enterprise
11
Günstige Alternative
- zu SAS, SPSS
- zu manch teuren Analyse –Umgebungen
- Unterstützung Trend zu
mehr Advanced Analytics
Potentielles Prototyping für Big Data
- Zugriff auf HDFS
- Map Reduce Jobs
- Umgehung von Java-Programmierung
- Lösung von Schnittstellen-Problemen
Bisherige Art der Interaktion R <-> Datenbank
read
Flat Files
extract / export
Database
export
load
SQL
RODBC / RJDBC / ROracle
 Paradigm shift: R  SQL  R
R script
cron job
 R memory limitation – data size, call-by-value
 R single threaded
 Access latency, backup, recovery, security…?
 Ad hoc script execution
12
Collaborative Execution Model
R Engine
3
2
1
Other R
packages
Oracle Database
SQL
R
R Engine
Oracle R Enterprise packages
User tables
Results
Database Compute Engine
User R Engine on desktop
•
Results
•
Scale to large datasets
•
•
Leverage database SQL parallelism
•
Interactive display of graphical results and
flow control as in standard R
•
•
Leverage in-database statistical and
data mining capabilities
•
Submit entire R scripts for execution by
Oracle Database
13
Oracle R Enterprise packages
R Engine(s) managed by Oracle DB
R-SQL Transparency Framework
intercepts R functions for scalable
in-database execution
Post processing of results
Other R
packages
•
Database manages multiple R engines for
database-managed parallelism
Efficient parallel data transfer to spawned
R engines to emulate map-reduce style
algorithms and applications
Enables “lights-out” execution of R scripts
Collaborative execution with Analytic techniques not
in-database R engine
available in-database
Oracle R Enterprise
R workspace console
Oracle statistics engine
OBIEE, Web Services
Function push-down –
data transformation & statistics
No changes to
the user
experience
Development
14
Scale to large
data sets
Embed in
operational
systems
Production
Consumption
DATA WAREHOUSE
Oracle R zum Anfassen: Die Themen
09:30
09:45
10:15
Begrüßung
R – Zum Anfassen – Einführung
Minikurs in der Sprache R
Sprachmittel, Hilfen, GUIs zum Erstellen der Skripte
Schnell und einfach ansprechende Grafiken erstellen
11:00
11:15
Pause
Showcase Teil 1: Data Mining mit R
Vergleich der Genauigkeit zweier Modelle
11:35
Oracle R Enterprise
Einfache Anwendung, Performance
12:20
13:00
Showcase Teil 2:
Data Mining mit R in der Oracle Datenbank
Mittagspause
Big Data & R
Hadoop, Map Reduce & R
R als Instrument für Prototyping für Big Data
13:30
16
Abschließende Fragen
Oracle R Enterprise
Oracle Advanced Analytics - Oracle R Enterprise and
Oracle Data Mining
R code und/oder SQL
Modelle laufen
“In-Database”
Große Datenmengen
Built-in security
17
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
–
–
–
18
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
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
19
SQL
Parallelisierung
durch die Datenbank
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 Benutzte benötigen nur R Syntax
– Benutzer sehen Datenbank-Objekte as 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!
21
Position 1
Position 2
Memory
Position 3
Memory
Memory
Client R Engine
Other R
packages
Transparency Layer
Oracle R Enterprise packages
Oracle Database
DB R Engine
Other R
packages
Transparency Layer
rq*Apply ()
interface
Oracle R Enterprise packages
User tables
extproc
Database Server
23
Memory
Memory
Client R Engine
Other R
packages
Transparency Layer
Oracle R Enterprise packages
Oracle Database
DB R Engine
Other R
packages
Transparency Layer
rq*Apply ()
interface
Oracle R Enterprise packages
User tables
Memory
extproc
Database Server
Position 1
wetter <-read.csv(file.choose())
ore.create(wetter,table="TB_WETTER")
24
class(df)
names(df)
objects()
dim(df)
Memory
Memory
Client R Engine
Other R
packages
Transparency Layer
Oracle R Enterprise packages
Oracle Database
DB R Engine
Other R
packages
Transparency Layer
rq*Apply ()
interface
Oracle R Enterprise packages
User tables
Memory
extproc
Database Server
Position 2
>x <- c(1,2,3)
>mod <- ore.doEval ( function()
+
{
+
x <- c(10,20,30)
+
y <- x
+
})
>x
>y
mod
25
[1] 1 2 3
Error: object 'y' not found
[1] 10 20 30
Memory
Memory
Client R Engine
Other R
packages
Transparency Layer
Oracle R Enterprise packages
Oracle Database
DB R Engine
Other R
packages
Transparency Layer
rq*Apply ()
interface
Oracle R Enterprise packages
User tables
Memory
extproc
Database Server
mod <- ore.doEval(
function(param) {
library(ORE)
ore.connect(user = "RQ",sid = "ORCL",host = "localhost",password
ore.sync()
ore.attach("RQ")
dat <- ore.pull(ONTIME_S)
mod <- lm(ARRDELAY ~ DISTANCE + DEPDELAY, dat)
mod});
26
Position 3
= "RQ",port = 1521)
mod_local <- ore.pull(mod)
class(mod_local)
summary(mod_local)
DATA WAREHOUSE
Herunterladen