Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

R zieht ein in das Oracle Data Warehouse

Ähnliche Präsentationen


Präsentation zum Thema: "R zieht ein in das Oracle Data Warehouse"—  Präsentation transkript:

1 R zieht ein in das Oracle Data Warehouse
Alfred Schlaucher

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

3 Business Intelligence
Arbeitsteilung Business Intelligence Advanced Analytics Data Mining Oracle R Enterprise Enterprise Information Layer User View Layer Data Integration Layer Process neutral / 3 NF Data Warehouse

4 Aus Merkmalen Wissen filtern
Selbständig Im_Beruf_Seit ? Angestellt Raucher Geschieden Alter Weinpräferenz Ruhestand_Seit Predictive Analytics Kunde_Seit Anzahl Kinder Mehrfachkäufer Verheiratet Level_Ausbildung Verheiratet Anzahl_Ehen Führerschein Wohnregion Einkommens_Gruppe Geschlecht Affinität_Videospiele Wohnsituation Berufstätig Bildung Online_Affinität Krank_Seit Sportlich_Aktiv Führerschein

5 Übersicht Mining-Algorithmen und -Verfahren
Problem Algorithmen Bedeutung + Anwendung Klassification Einteilung von Objekten in Gruppen (bekannte Klassen) anhand von gemeinsamen Merkmalen Logistic Regression (GLM) Decision Trees Naïve Bayes Support Vector Machine Vorhersage von Eigenschaften in Abhängigkeit von anderen Eigenschaften Regression Multiple Regression (GLM) Support Vector Machine Anomaly Detection One Class SVM Erkennen von Ausressern und Anomalien Attribute Importance Minimum Description Length (MDL) Finden relevanter Merkmale. Fokussierung auf aussagekräftige Attribute Association Rules Analyse von Beziehungen, Warenkorb-Analysen Apriori Clustering Hierarchical K-Means Finden von gemeinsamen Merkmalen zur Bildung von neuen (unbekannten) Gruppen Hierarchical O-Cluster Textanalysen, Finden von immerwiederkehrenden Mustern Feature Extraction Nonnegative Matrix Factorization F1 F2 F3 F4 Copyright 2011 Oracle Corporation 5

6 Vorhersage Analyse-Schritte und Anforderungen
Daten sammeln Zeitaufwendige Analyseprozesse Mehrere Interationen Workflows von immer wiederkehrenden Arbeitsschritten Ressourcen-intensive Datenanalysen Daten identifizieren The solution for these challenges is a nosql db. Is a key value store. These have been around for 40 years. Were isam on mainframe. Give key value example – give customer key and return customer profile. Nosql database good for app’s where just need simple db requests (key/value lookup, no join’s) [not new: m/f isam, BDB], use a schema defined dynamically at runtime by the application itself, and have extreme scalability requirements What’s new: instead of just creating one index, create many indexes and hash to appropriate one. Daten analysieren Daten aufbereiten

7 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 Schneller The solution for these challenges is a nosql db. Is a key value store. These have been around for 40 years. Were isam on mainframe. Give key value example – give customer key and return customer profile. Nosql database good for app’s where just need simple db requests (key/value lookup, no join’s) [not new: m/f isam, BDB], use a schema defined dynamically at runtime by the application itself, and have extreme scalability requirements What’s new: instead of just creating one index, create many indexes and hash to appropriate one. Sicher Skalierbar

8 Beispiel: “Un-loyale Kunden”
Einkommen 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”
Einkommen Monate Kundenverhältnis 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 Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff

10 Oracle Data Miner 11g Release 2 GUI
Copyright 2011 Oracle Corporation

11 Oracle Data Miner 11g Release 2 GUI
“Churner” Modell in Abhängigkeit von Einkommen und Dauer des Kundenverhältnisses Copyright 2011 Oracle Corporation

12 R – Statistische Programmiersprache
users sales history returns online PCA 5 Factor 3 Factor 1 Clustering 4 Groups 28 16 2 1 80 60 40 20 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

13 Daten-Visualisierung mit R
gallery.r-enthusiasts.com/

14 Graphische Bediener-Oberflächen
Auswahl bei den GUIs Bereiche: R Console Plot-Bereich Ergebnis-Bereich Messages Standard GUI / Rstudio / Rcommander/.../...

15 Warum nutzen immer mehr Anwender R
Warum R Oft mehr Funktionen, als in klassischen Tools Kann mehr Neue Funktionen, sind oft in R als erstes implemtiert Ist schnell Point Die Entwickler der Funktionen sind oft per Mail direkt erreichbar Ist ansprechbar - offene Kommunikation Weltweit wird mit R gearbeitet “Schläft nicht” Was kosten die übrigen Tools? Ist günstiger

16 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(alter,geschl.faktor) Data-Frame Einfache statistische Funktion round(tapply(alter ,geschl,mean,na.rm=TRUE),0) Durchschnittliches Alter pro Geschlecht

17 Klassisches Daten-Handling ohne Oracle R Enterprise
Lokale Daten Datenbank R Engine z. B. ODBC z. B. CSV df <-read.csv(file.choose()) class(df) names(df) objects() dim(df)c Häufiges Datenbewegen, Hauptspeicherlimitierung im Client, lange Laufzeiten

18 Oracle R-Angebote Oracle R Distribution ROracle Oracle R Enterprise
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

19 Mögliche Szenarien mit Oracle R-Enterprise
RAM R Engine Direkten Zugriff auf alle Tabellen in der Datenbank File System RAM R Engine Auslagern der Analysen in die Datenbank Zurückholen der Ergebnisse Anlegen neuer Objekte in der Datenbank Parallelisierung durch die Datenbank File System RAM R Engine R-Analysen über SQL-Funktionen (Batch) Parallelisierung durch die Datenbank File System SQL

20 Oracle R Enterprise – Data Sources
R user on desktop R Engine Oracle R Enterprise packages Andere R Packages Direkter Zugriff Direkter Zugriff RODBC, DBI, etc Andere Datenbanken Import / Load Data File systems Push Pull Results SQL R Engine Other R packages Oracle R Enterprise packages Andere R Packages Transparent Layer Parallel Aufrufe Select ...Fro ..Table(....) begin Create Function end User tables Oracle Datenbank Database Links Bulk import External Tables Andere Datenbanken File systems

21 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

22 Beispiele für den transparenten Zugriff
Connect to a specific schema and database One connection active at a time 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") 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

23 Gezielte Steuerung von Scripten innerhalb der Datenbank
Oracle Datenbank with(ERSTIS,split(alter,geschl)) Lokale R-Engine auf PC DB-Server-Maschine ERSTIS Tabelle wird in den lokalen Speicher kopiert und lokal analysiert mod <- ore.doEval( function(param) { library(ORE) ore.connect(user="RQUSER", password="RQUSER", sid="ORCL", host=" ",port=1521) ore.sync() ore.attach() mod <- with(ERSTIS,split(alter,geschl)) }); Oracle Datenbank Lokale R-Engine auf PC ERSTIS DB-Server-Maschine Tabelle bleibt in der DB. Analyse findet im Speicher des DB-Servers statt Das Ergebnis wird zurückgeliefert R-Engine auf DB-Server R-Engine auf DB-Server R-Engine auf DB-Server

24 Gezieltes Ansteuern einer Verarbeitungsvariante (Beispiel Regressions Modell)
mod <- ore.doEval( function(param) { library(ORE) ore.connect(user="RQUSER", password="RQUSER„, sid="ORCL", host=" ",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) 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

25 Beispiele für Graphiken praktisch „direkt aus der Datenbank“

26 Beispiele für Graphiken
praktisch „direkt aus dem Netz“

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

28 Cluster-Analyse library(cluster)

29 Integrierte R Umgebungen Oracle R Connector for Hadoop
ORE Client Host R Engine Hadoop Cluster Software MapReduce Nodes HDFS Oracle Big Data Appliance Oracle Exadata ORHC Native R MapReduce Native R HDFS Zugriff Mehr Produktivität

30 Big Data Connectors und Oracle R Enterprise
R-Package R-Package R Environment Oracle R Connector for Hadoop Oracle R Enterprise (Advanced Analytics) HDFS Cluster-Machines Oracle Server-Machine Oracle 11.2 hdfs_stream External Table HDFS Oracle Direct Connector for HDFS Preprocessor: hdfs_stream Target Table RAM R Engine Hive Table CSV + / n CSV Data pump Offline Mode direct path convential path Parallel Execution Oracle Loader for Hadoop OCI Online Mode LoaderMap JDBC Partitioned + sorted MapReduce Job Framework

31 Kontakt und mehr Informationen
Oracle Data Warehouse Community Mitglied werden Viele kostenlose Seminare und Events Download – Server: Kontakt über Nächste deutschsprachige Oracle DWH Konferenz: März 2013 Kassel

32


Herunterladen ppt "R zieht ein in das Oracle Data Warehouse"

Ähnliche Präsentationen


Google-Anzeigen