r zieht ein in das oracle data warehouse
Post on 23-Feb-2016
44 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
R zieht ein in das Oracle Data WarehouseAlfred Schlaucher
2
Business Intelligence und Advanced Analytics Vorhersage Algorithmen Oracle Data Miner Oracle R Enterprise
Themen
3
Arbeitsteilung
Enterprise Information Layer User View LayerData Integration Layer
Process neutral / 3 NF
Business Intelligence Advanced Analytics
D a t a Wa r e h o u s e
Data Mining Oracle R Enterprise
4
Aus Merkmalen Wissen filtern
Alter
Anzahl Kinder
Verheiratet
Verheiratet
Einkommens_Gruppe
WohnsituationBildung
Führerschein
Berufstätig
GeschlechtWohnregion
Kunde_Seit
Mehrfachkäufer
Weinpräferenz
RaucherIm_Beruf_Seit Selbständig
Angestellt
Ruhestand_Seit
Krank_SeitSportlich_Aktiv
Führerschein
Geschieden
Anzahl_Ehen
Online_Affinität
Affinität_Videospiele
Level_Ausbildung ?
Predictive A
nalytics
5
Übersicht Mining-Algorithmen und -Verfahren
Klassification
Association RulesClustering
Attribute Importance
Problem Algorithmen Bedeutung + AnwendungEinteilung von Objekten in Gruppen(bekannte Klassen) anhand von gemeinsamen Merkmalen
Minimum Description Length (MDL)
Finden relevanter Merkmale.Fokussierung auf aussagekräftige Attribute
Hierarchical K-MeansHierarchical O-Cluster
Finden von gemeinsamen Merkmalenzur Bildung von neuen (unbekannten)Gruppen
AprioriAnalyse von Beziehungen, Warenkorb-Analysen
Multiple Regression (GLM)Support Vector Machine
Vorhersage von Eigenschaften in Abhängigkeit von anderen Eigenschaften
Regression
Feature Extraction
Nonnegative Matrix Factorization
Textanalysen, Finden von immerwiederkehrenden Mustern
Logistic Regression (GLM)Decision TreesNaïve Bayes Support Vector Machine
One Class SVM Erkennen von Ausressern und Anomalien
Anomaly Detection
F1 F2 F3 F4
6
Zeitaufwendige Analyseprozesse
Mehrere Interationen
Workflows von immer wiederkehrenden Arbeitsschritten
Ressourcen-intensive Datenanalysen
Vorhersage Analyse-Schritte und Anforderungen
Daten sammeln Daten
identifizieren
Daten aufbereiten
Daten analysieren
7
Analysen in der Datenbank
Keine Datenbewegungen
Kurze Analysezeiten und schnelleres Arbeiten
Große Datenmengen
Skalierbar
R code und/oder SQL
Built-in security
InDatabase – Analysen Oracle R Enterprise / Oracle Data Mining
Schneller
Skalierbar
Sicher
8
Beispiel: “Un-loyale Kunden”
Ein
k om
men
Monate Kundenverhältnis
Mobiltelefon “Churner” vs. Loyale Kunden
Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff
9
Beispiel: “Un-loyale Kunden”
Ein
k om
men
Monate Kundenverhältnis
Segment #1: IF CUST_MO > 14 AND INCOME < $90K, THEN Prediction = Cell Phone Churner, Confidence = 100%, Support = 8/39
Segment #3: IF CUST_MO > 7 AND INCOME < $175K, THEN Prediction = Cell Phone Churner, Confidence = 83%, Support = 6/39
Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff
Mobiltelefon “Churner” vs. Loyale Kunden
10
Oracle Data Miner 11g Release 2 GUI
11
Oracle Data Miner 11g Release 2 GUI
“Churner” Modell in Abhängigkeit von
Einkommen und Dauer des Kundenverhältnisses
12
OPEN SOURCE Sprache und Umgebung
STATISTISCHE BERECHNUNGEN und Graphik
STÄRKE liegt in der schnellen graphischen Aufbereitung (Plots)
>5,300 statistische Packages
LEICHT ERWEITERBAR durch Open Source Community
R – Statistische Programmiersprache
users
sales
history
returns
online
PCA 5
Factor 3Factor 1Clustering 4 Groups
28
16
2
180 60 40 20 0
13
Insert Chart Here
Daten-Visualisierung mit R
http://gallery.r-enthusiasts.com/
14
Auswahl bei den GUIs
Bereiche:
R Console
Plot-Bereich
Ergebnis-Bereich
Messages
Standard GUI / Rstudio /Rcommander/.../...
Insert Chart Here
Graphische Bediener-Oberflächen
15
Warum nutzen immer mehr Anwender R
Warum R
Ist schnell
Ist ansprechbar -offene Kommunikation
“Schläft nicht”
Point
Kann mehr
Ist günstigerWas kosten die übrigen
Tools?
Oft mehr Funktionen, als in klassischen Tools
Neue Funktionen, sind oft in R als erstes implemtiert
Die Entwickler der Funktionen sind oft per Mail direkt erreichbar
Weltweit wird mit Rgearbeitet
16
> alter <- c(19,20,20,19,25,26,22,25,29)
> geschl <- c(1,2,2,1,2,2,2,1,2) > geschl.faktor <- factor(geschl)
Vektor
Faktor
> bsp.data.frame <- data.frame(alter,geschl.faktor)Data-Frame
round(tapply(alter ,geschl,mean,na.rm=TRUE),0)
Einfache Beispiele zur Darstellung der R-Sprachmimik
Einfache statistische FunktionDurchschnittliches Alter pro Geschlecht
17
Klassisches Daten-Handling ohne Oracle R Enterprise
R Engine
LokaleDaten
Datenbank
df <-read.csv(file.choose()) class(df)names(df)objects()dim(df)c
z. B. ODBCz. B. CSV
Häufiges Datenbewegen, Hauptspeicherlimitierung im Client, lange Laufzeiten
18
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
Oracle R-Angebote
19
Mögliche Szenarien mit Oracle R-Enterprise
RAMRAM
R EngineDirekten Zugriff auf alle Tabellen in der Datenbank
File System
RAM
RAMRAM
R EngineR Engine
R EngineAuslagern der Analysen in die DatenbankZurückholen der Ergebnisse
Anlegen neuer Objekte in der Datenbank
R EngineR Engine
Parallelisierungdurch die DatenbankFile System
RAM
RAM
R EngineR Engine
R EngineR-Analysen über SQL-Funktionen(Batch)
R EngineR Engine
Parallelisierungdurch die Datenbank
File System SQL
20
Oracle R Enterprise – Data Sources
User tables
Oracle Datenbank Bulk import
File systems
Database Links
SQLResults
R user on desktop
External Tables
File systems
Direkter Zugriff
Andere Datenbanken
Direkter ZugriffRODBC,DBI, etc
R EngineAndere R Packages
Import / Load Data
R EngineOther R packages
Oracle R Enterprise packages
R EngineOther R packages
Oracle R Enterprise packages
R EngineAndere R Packages
Oracle R Enterprise packages
Andere Datenbanken
Oracle R Enterprise packages
PushPull
Select ...Fro ..Table(....)begin
Create Functionend
Parallel AufrufeTransparent Layer
21
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
Oracle Transparency Layer Support
22
Beispiele für den transparenten Zugriff
Connect to a specific schema and databaseOne connection active at a time
Create a database table from a data.frame, ore.frame. Create a view from an ore.frame.
Drop table or view in database
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
Synchronize ORE proxy objects in R with tables/views available in database, on a per schema basis
Returns TRUE if named table or view exists in schema
library(ORE)
ore.connect("RQUSER","SID","HOST", "PASSWORD",1521)
ore.create( ONTIME_S, table = "NEW_ONTIME_S")
ore.create( ONTIME_S, view = "NEW_ONTIME_S_VIEW")
ore.drop(table="NEW_ONTIME_S")
ore.drop(view="NEW_ONTIME_S_VIEW")
t <- ore.get("ONTIME_S","RQUSER")
ore.attach()
v <- ore.push(c(1,2,3,4,5))
ore.sync()
ore.sync("RQUSER")
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")
23
R-Engine auf DB-ServerR-Engine auf DB-Server
Gezielte Steuerung von Scripten innerhalb der Datenbank
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))});
with(ERSTIS,split(alter,geschl))Lokale R-Engine auf PC
Oracle Datenbank
ERSTIS
Lokale R-Engine auf PC
Oracle Datenbank
ERSTIS
R-Engine auf DB-Server
Tabelle wird in den lokalen Speicher kopiert und lokalanalysiert
Tabelle bleibt in der DB.Analyse findet im Speicher des DB-Servers stattDas Ergebnis wird zurückgeliefert
DB
-Server-Maschine
DB
-Server-Maschine
24
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)Daten bleiben im MemoryDer Oracle Datenbank
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 im Memoryder R-Engine auf dem DB-Server
Laufzeit: 3 Sekunden Laufzeit: 110 Sekunden
25
Beis
Beispiele für Graphikenpraktisch„direkt aus der Datenbank“
26
Beispiele für Graphikenpraktisch„direkt aus dem Netz“
27
Beispiel für Graphiken: Cluster-Analyse Baum - Darstellung
28
Cluster-Analyse library(cluster)
29
Native R MapReduce
Native R HDFS Zugriff
Mehr Produktivität
Insert Chart Here
Integrierte R UmgebungenOracle R Connector for Hadoop
ORE
Client Host
R Engine
HadoopCluster
Software
R Engine
MapReduceNodes
HDFS
Oracle Big DataAppliance
Oracle Exadata
R EngineORE
ORHCORHC
30
Big Data Connectors und Oracle R Enterprise
Oracle 11.2
R Environment
Oracle Direct Connector for HDFS
ExternalTable
Oracle Loader for Hadoop
Preprocessor: hdfs_stream
CSV
Data pump
Parallel Execution
HDFShdfs_stream
Partitioned+ sorted
OCIJDBC
direct path convential path
Hive Table
CSV + / n
LoaderMap
Target Table
Offline Mode
Online Mode
Oracle Server-MachineHDFS Cluster-Machines
MapReduce Job Framework
Oracle R Connector for Hadoop
R-PackageOracle R Enterprise(Advanced Analytics)
R-Package
RAM
R EngineR EngineR Engine
R Engine
31
Kontakt und mehr Informationen
Oracle Data Warehouse Community Mitglied werdenViele kostenlose Seminare und Events
Download – Server:www.ORACLEdwh.de
Kontakt überAlfred.Schlaucher@oracle.com
Nächste deutschsprachige Oracle DWH Konferenz:19. + 20. März 2013 Kassel
32
top related