1 r zieht ein in das oracle data warehouse alfred schlaucher

32
R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

Upload: willahelm-andelman

Post on 06-Apr-2015

112 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

1

R zieht ein in das Oracle Data WarehouseAlfred Schlaucher

Page 2: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

2

Business Intelligence und Advanced Analytics Vorhersage Algorithmen Oracle Data Miner Oracle R Enterprise

Themen

Page 3: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 4: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

4

Aus Merkmalen Wissen filtern

Alter

Anzahl Kinder

Verheiratet

Verheiratet

Einkommens_Gruppe

WohnsituationBildung

Führerschein

Berufstätig

GeschlechtWohnregion

Kunde_Seit

Mehrfachkäufer

Weinpräferenz

Raucher

Im_Beruf_SeitSelbständig

Angestellt

Ruhestand_Seit

Krank_SeitSportlich_Aktiv

Führerschein

Geschieden

Anzahl_Ehen

Online_Affinität

Affinität_Videospiele

Level_Ausbildung ?

Pred

ictive A

nalytics

Page 5: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

5

Übersicht Mining-Algorithmen und -Verfahren

Klassification

Association Rules

Clustering

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-Means

Hierarchical 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

Page 6: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

6

Zeitaufwendige Analyseprozesse

Mehrere Interationen

Workflows von immer wiederkehrenden Arbeitsschritten

Ressourcen-intensive Datenanalysen

Vorhersage Analyse-Schritte und Anforderungen

Daten sammeln

Datenidentifizieren

Daten aufbereiten

Daten analysieren

Page 7: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 8: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

8

Beispiel: “Un-loyale Kunden”

Ein

kom

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

Page 9: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

9

Beispiel: “Un-loyale Kunden”

Ein

kom

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

Page 10: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

10

Oracle Data Miner 11g Release 2 GUI

Page 11: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

11

Oracle Data Miner 11g Release 2 GUI

“Churner” Modell in Abhängigkeit von

Einkommen und Dauer des Kundenverhältnisses

Page 12: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 13: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

13

Insert Chart Here

Daten-Visualisierung mit R

http://gallery.r-enthusiasts.com/

Page 14: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

14

Auswahl bei den GUIs

Bereiche:

R Console

Plot-Bereich

Ergebnis-Bereich

Messages

Standard GUI / Rstudio /Rcommander/.../...

Insert Chart Here

Graphische Bediener-Oberflächen

Page 15: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 16: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 17: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 18: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 19: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

19

Mögliche Szenarien mit Oracle R-Enterprise

RAM

RAM

R EngineDirekten Zugriff auf alle Tabellen in der Datenbank

File System

RAM

RAM

RAM

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 Engine

R-Analysen über SQL-Funktionen(Batch)

R EngineR Engine

Parallelisierungdurch die Datenbank

File System SQL

Page 20: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 21: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 22: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

22

Beispiele für den transparenten Zugriff

Connect to a specific schema and database

One 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")

Page 23: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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-M

aschin

eD

B-S

erver-Masch

ine

Page 24: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 25: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

25

Beis

Beispiele für Graphikenpraktisch„direkt aus der Datenbank“

Page 26: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

26

Beispiele für Graphikenpraktisch„direkt aus dem Netz“

Page 27: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

27

Beispiel für Graphiken: Cluster-Analyse Baum - Darstellung

Page 28: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

28

Cluster-Analyse library(cluster)

Page 29: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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

Page 30: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

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-Package

Oracle R Enterprise(Advanced Analytics)

R-Package

RAM

R EngineR Engine

R EngineR Engine

Page 31: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

31

Kontakt und mehr Informationen

Oracle Data Warehouse Community Mitglied werdenViele kostenlose Seminare und Events

Download – Server:

www.ORACLEdwh.de

Kontakt ü[email protected]

Nächste deutschsprachige Oracle DWH Konferenz:19. + 20. März 2013 Kassel

Page 32: 1 R zieht ein in das Oracle Data Warehouse Alfred Schlaucher

32