ADV_Analytics_WebCast - Oracle Data Warehouse Community

Werbung
R zieht ein in das
Oracle Data Warehouse
Alfred Schlaucher
1
Themen
 Business Intelligence und Advanced Analytics
 Vorhersage Algorithmen
 Oracle Data Miner
 Oracle R Enterprise
2
Arbeitsteilung
Business Intelligence
Advanced Analytics
Data Mining
Data Integration Layer
Enterprise Information Layer
Process neutral / 3 NF
D a t a Wa re hous e
3
Oracle R Enterprise
User View Layer
Aus Merkmalen Wissen filtern
Selbständig
Im_Beruf_Seit
Kunde_Seit
Mehrfachkäufer
Level_Ausbildung
Alter
Ruhestand_Seit
?
Anzahl_Ehen
Wohnregion
Geschlecht
Affinität_Videospiele
Berufstätig
Krank_Seit
Sportlich_Aktiv
4
Anzahl Kinder
Verheiratet
Verheiratet
Führerschein
Einkommens_Gruppe
Wohnsituation
Bildung
Online_Affinität
Führerschein
Predictive
Analytics
Angestellt
Raucher
Geschieden
Weinpräferenz
Übersicht Mining-Algorithmen und -Verfahren
Problem
Algorithmen
Klassification
Logistic Regression (GLM)
Decision Trees
Naïve Bayes
Support Vector Machine
Regression
Multiple Regression (GLM)
Support Vector Machine
Anomaly
Detection
Attribute
Importance
One Class SVM
Einteilung von Objekten in Gruppen
(bekannte Klassen)
anhand von gemeinsamen Merkmalen
Vorhersage von Eigenschaften
in Abhängigkeit von anderen
Eigenschaften
Association
Rules
Erkennen von Ausressern
und Anomalien
Minimum Description Length Finden relevanter Merkmale.
Fokussierung auf aussagekräftige
(MDL)
Attribute
Analyse von Beziehungen,
Apriori
Warenkorb-Analysen
Clustering
Hierarchical K-Means
Hierarchical O-Cluster
Feature
Extraction
Nonnegative Matrix
Factorization
F1 F2 F3 F4
5
Bedeutung + Anwendung
Finden von gemeinsamen Merkmalen
zur Bildung von neuen (unbekannten)
Gruppen
Textanalysen,
Finden von immerwiederkehrenden
Mustern
Vorhersage Analyse-Schritte und
Anforderungen
Zeitaufwendige
Analyseprozesse
Daten
sammeln
Mehrere Interationen
Daten
identifizieren
Workflows von immer
wiederkehrenden
Arbeitsschritten
Ressourcen-intensive
Datenanalysen
6
Daten
analysieren
Daten
aufbereiten
InDatabase – Analysen
Oracle R Enterprise / Oracle Data Mining
Analysen in der
Datenbank
Keine Datenbewegungen
Kurze Analysezeiten und
schnelleres Arbeiten
Große Datenmengen
Skalierbar
R code und/oder SQL
Built-in security
7
Beispiel: “Un-loyale Kunden”
Mobiltelefon “Churner”
vs. Loyale Kunden
Monate Kundenverhältnis
Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff
8
Beispiel: “Un-loyale Kunden”
Mobiltelefon “Churner”
vs. Loyale Kunden
Segment #3:
IF CUST_MO > 7 AND
INCOME < $175K, THEN
Prediction = Cell Phone
Churner, Confidence =
83%, Support = 6/39
Segment #1:
IF CUST_MO > 14 AND
INCOME < $90K, THEN
Prediction = Cell Phone
Churner, Confidence =
100%, Support = 8/39
Monate Kundenverhältnis
Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff
9
Oracle Data Miner 11g Release 2 GUI
10
Oracle Data Miner 11g Release 2 GUI
“Churner” Modell in
Abhängigkeit von
Einkommen und Dauer
des Kundenverhältnisses
11
R – Statistische Programmiersprache
OPEN SOURCE Sprache
und Umgebung
STATISTISCHE
BERECHNUNGEN und
Graphik
PCA 5
online
returns
users
history
STÄRKE liegt in der
schnellen graphischen
Aufbereitung (Plots)
>5,300 statistische
Packages
sales
Clustering 4 Groups
Factor 1
28
LEICHT ERWEITERBAR
durch Open Source
Community
12
16
2
80
60
40
20
0
1
Factor 3
Daten-Visualisierung mit R
http://
gallery.r-enthusiasts.com/
13
Graphische Bediener-Oberflächen
Auswahl bei den GUIs
Bereiche:
R Console
Plot-Bereich
Ergebnis-Bereich
Messages
Standard GUI / Rstudio /
Rcommander/.../...
14
Warum nutzen immer mehr Anwender R
Warum R
Kann mehr
Oft mehr Funktionen, als in
klassischen Tools
Ist schnell
Neue Funktionen, sind oft
in R als erstes implemtiert
Point
15
Ist ansprechbar offene Kommunikation
Die Entwickler der
Funktionen sind oft per
Mail direkt erreichbar
“Schläft nicht”
Weltweit wird mit R
gearbeitet
Ist günstiger
Was kosten
die übrigen
Tools?
Einfache Beispiele zur Darstellung der
R-Sprachmimik
> alter <- c(19,20,20,19,25,26,22,25,29)
Vektor
> geschl <- c(1,2,2,1,2,2,2,1,2)
> geschl.faktor <- factor(geschl)
Faktor
> bsp.data.frame
Data-Frame
<- data.frame(alter,geschl.faktor)
round(tapply(alter ,geschl,mean,na.rm=TRUE),0)
Einfache
statistische
Funktion
Durchschnittliches
Alter pro Geschlecht
16
Klassisches Daten-Handling ohne
Oracle R Enterprise
Lokale
Daten
Datenbank
R Engine
z. B. ODBC
z. B. CSV
class(df)
names(df)
objects()
dim(df)c
Häufiges Datenbewegen, Hauptspeicherlimitierung im Client,
lange Laufzeiten
df <-read.csv(file.choose())
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
RAM
RAM
File System
R Engine
Direkten Zugriff auf alle Tabellen
in der Datenbank
RAM
RAM
File System
R Engine
Parallelisierung
durch die Datenbank
Auslagern der Analysen in die
Datenbank
Zurückholen der Ergebnisse
R Engine
R Engine
R Engine
R Engine
Anlegen neuer Objekte in
der Datenbank
RAM
RAM
R Engine
Parallelisierung
durch die Datenbank
R-Analysen über
SQL-Funktionen
(Batch)
File System
SQL
R Engine
R Engine
R Engine
R Engine
RAM
19
Oracle R Enterprise – Data Sources
R user on desktop
R Engine
Andere
Datenbanken
Direkter
Zugriff
RODBC,
DBI, etc
Oracle R Enterprise Andere R
packages
Packages
Direkter Zugriff
Import / Load Data
Push
Pull
Results
SQL
Transparent Layer
Parallel Aufrufe
Select ...Fro ..Table(....)
begin
User tables
Oracle Datenbank
Database Links
Andere
Datenbanken
20
File systems
Create Function
end
External Tables
File systems
Bulk import
R Engine
R Engine
Engine
Oracle R
R Enterprise
Andere R
Oracle R Enterprise
Other R
packages
Packages
Oracle R Enterprise
Other R
packages
packages
packages
packages
Oracle Transparency Layer Support
 ORE bietet eine “in-database execution” – Funktionalität
als transparente Schicht an
 Was bedeutet transparent?
– R Benutzter benötigen nur R Syntax
– Benutzer sehen Datenbank-Objecke als spezielle R Objekte
– Unterstützt werden fast alle R-Funktionen des Basis-R-Pakets
– Unterstützt R's Statistik und Graphik-Pakete
21
Beispiele für den transparenten Zugriff
library(ORE)
Connect to a specific schema and database
ore.connect("RQUSER","SID","HOST",
"PASSWORD",1521)
One connection active at a time
ore.create( ONTIME_S, table = "NEW_ONTIME_S")
Create a database table from a data.frame, ore.frame.
Create a view from an ore.frame.
ore.create( ONTIME_S, view = "NEW_ONTIME_S_VIEW")
ore.drop(table="NEW_ONTIME_S")
Drop table or view in database
ore.drop(view="NEW_ONTIME_S_VIEW")
t <- ore.get("ONTIME_S","RQUSER")
Store R object in database as temporary object, returns
handle to object. Data frame, matrix, and vector to
table, list/model/others to serialized object
ore.attach()
v <- ore.push(c(1,2,3,4,5))
ore.sync()
ore.sync("RQUSER")
Synchronize ORE proxy objects in R with tables/views
available in database, on a per schema basis
ore.sync(table=c("ONTIME_S", "NARROW"))
ore.sync("RQUSER", table=c("ONTIME_S", "NARROW"))
ore.exists("ONTIME_S", "RQUSER")
ore.exec("create table F2 as select * from ONTIME_S")
22
Returns TRUE if named table or view exists in schema
Gezielte Steuerung von Scripten innerhalb der
Datenbank
with(ERSTIS,split(alter,geschl))
Lokale R-Engine
auf PC
ERSTIS
Tabelle wird in den
lokalen Speicher kopiert und lokal
analysiert
23
Oracle
Datenbank
Lokale R-Engine
auf PC
Tabelle bleibt in der DB.
Analyse findet im Speicher des
DB-Servers statt
Das Ergebnis wird zurückgeliefert
ERSTIS
R-Engineauf
aufDB-Server
DB-Server
R-Engine
R-Engine
auf DB-Server
DB-Server-Maschine
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 <- with(ERSTIS,split(alter,geschl))
});
DB-Server-Maschine
Oracle
Datenbank
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 <- ore.lm(lz.1 ~ zuf.inh.1,ERSTIS)
mod
});
mod_local <- ore.pull(mod)
class(mod_local)
summary(mod_local)
24
mod <- ore.doEval(
function(param) {
dat <- ore.pull(ONTIME_S)
mod <- lm(ARRDELAY ~ DISTANCE +
DEPDELAY, dat)
mod
});
mod_local <- ore.pull(mod)
class(mod_local)
summary(mod_local)
Daten bleiben im Memory
Der Oracle Datenbank
Daten im Memory
der R-Engine auf dem DB-Server
Laufzeit: 3 Sekunden
Laufzeit: 110 Sekunden
Beispiele für Graphiken
praktisch
„direkt aus der
Beis Datenbank“
25
Beispiele für Graphiken
praktisch
„direkt aus dem Netz“
26
Beispiel für Graphiken: Cluster-Analyse
Baum - Darstellung
27
Cluster-Analyse
library(cluster)
28
Integrierte R Umgebungen
Oracle R Connector for Hadoop
Client Host
R Engine
Oracle Big Data Oracle Exadata
Appliance
R Engine
ORE
Native R MapReduce
ORHC
ORHC
Hadoop
Cluster
Software
MapReduce
Nodes
Native R HDFS Zugriff
Mehr Produktivität
HDFS
29
R Engine
ORE
Big Data Connectors und
Oracle R Enterprise
R Environment
R-Package
R-Package
Oracle R Connector
for Hadoop
Oracle R Enterprise
(Advanced Analytics)
Oracle Server-Machine
HDFS Cluster-Machines
Oracle 11.2
hdfs_stream
Oracle Direct Connector
for HDFS
HDFS
External
Table
Preprocessor:
hdfs_stream
Hive
Table
CSV +
/n
Target
Table
R Engine
R Engine
R Engine
R Engine
RAM
CSV
Offline
Mode
Data
pump
direct path
Oracle Loader for Hadoop
LoaderMap
MapReduce Job Framework
30
Parallel Execution
Online Mode
Partitioned
+ sorted
convential path
OCI
JDBC
Kontakt und mehr Informationen
Oracle Data Warehouse Community Mitglied werden
Viele kostenlose Seminare und Events
Download – Server:
www.ORACLEdwh.de
Kontakt über
[email protected]
Nächste deutschsprachige Oracle DWH Konferenz:
19. + 20. März 2013 Kassel
31
32
Herunterladen