SlideShare ist ein Scribd-Unternehmen logo
1 von 44
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Running	
  R	
  in	
  the	
  Database	
  using	
  	
  
Oracle	
  R	
  Enterprise	
  
	
  
Brendan Tierney
Code	
  Demo	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
§  Data	
  Warehousing	
  since	
  1997	
  
§  Data	
  Mining	
  since	
  1998	
  
§  Analy)cs	
  since	
  1993	
  
Brendan	
  Tierney	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  &	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  &	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
Code	
  Demo	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  &	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  &	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
R	
  
§  R	
  Open	
  source	
  sta)s)cal	
  compu)ng	
  and	
  graphics	
  
language	
  
§  Started	
  in	
  1993	
  as	
  an	
  alterna)ve	
  to	
  SAS,	
  SPSS	
  and	
  
other	
  proprietary	
  sta)s)cal	
  packages	
  
•  Originally	
  called	
  S,	
  renamed	
  to	
  R	
  in	
  1996	
  
§  R	
  is	
  a	
  client	
  and	
  server	
  bundled	
  together	
  as	
  one	
  
executable	
  
•  It	
  is	
  a	
  single	
  user	
  tool	
  
•  It	
  is	
  not	
  mul)-­‐threaded	
  
•  Constrained	
  to	
  a	
  single	
  CPU	
  
§  Millions	
  of	
  R	
  users	
  worldwide	
  
§  Thousands	
  of	
  libraries	
  available	
  at	
  
•  hXp://cran.r-­‐project.org	
  
§  Free	
  
Milestones:	
  
2017-­‐01-­‐09:	
  9870	
  packages	
  
2016-­‐06-­‐01:	
  8492	
  packages	
  
2015-­‐03-­‐13:	
  6400	
  packages	
  
2015-­‐02-­‐15:	
  6325	
  packages	
  
2014-­‐10-­‐29:	
  6000	
  packages	
  
2013-­‐11-­‐08:	
  5000	
  packages	
  
2012-­‐08-­‐23:	
  4000	
  packages	
  
2011-­‐05-­‐12:	
  3000	
  packages	
  
2009-­‐10-­‐04:	
  2000	
  packages	
  
2007-­‐04-­‐12:	
  1000	
  packages	
  
2004-­‐10-­‐01:	
  500	
  packages	
  
2003-­‐04-­‐01:	
  250	
  packages	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
§  Is	
  used	
  every	
  where	
  
§  Par)cularly	
  in	
  USA	
  
–  And	
  else	
  where	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Examples	
  of	
  R	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
> library(RJDBC)
> # Create connection driver and open
> connectionjdbcDriver <- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="c:/ojdbc6.jar")
> jdbcConnection <- dbConnect(jdbcDriver, "jdbc:oracle:thin:@//localhost:1521/orcl", "dmuser", "dmuser")
> #list the tables in the schema
> #dbListTables(jdbcConnection)
> #get the DB connections details - it get LOTS of info - Do not run unless it is really needed
> dbGetInfo(jdbcConnection)
> # Query on the Oracle instance name.
> #instanceName <- dbGetQuery(jdbcConnection, "SELECT instance_name FROM v$instance")
TABLE_NAME1
1 INSUR_CUST_LTV_SAMPLE2
2 OUTPUT_1_2
> #print(instanceName)tableNames <- dbGetQuery(jdbcConnection, "SELECT table_name from user_tables where
table_name not like 'DM$%' and table_name not like 'ODMR$%'")
> print(tableNames)
> viewNames <- dbGetQuery(jdbcConnection, "SELECT view_name from user_views")print(viewNames)
1 MINING_DATA_APPLY_V
2 MINING_DATA_BUILD_V
3 MINING_DATA_TEST_V
4 MINING_DATA_TEXT_APPLY_V
5 MINING_DATA_TEXT_BUILD_V
6 MINING_DATA_TEXT_TEST_V
> dbDisconnect(jdbcConnection)
Using	
  RJDBC	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
> library(ROracle)
> drv <- dbDriver("Oracle")
> # Create the connection string
> host <- "localhost"
> port <- 1521
> sid <- "orcl"
>connect.string <- paste("(DESCRIPTION=”, "(ADDRESS=(PROTOCOL=tcp)(HOST=", host, ")(PORT=", port, "))",
> "(CONNECT_DATA=(SID=", sid, ")))", sep = "")
> con <- dbConnect(drv, username = "dmuser", password = "dmuser",dbname=connect.string)
> rs <- dbSendQuery(con, "select view_name from user_views")
> # fetch records from the resultSet into a data.frame
> data <- fetch(rs)
> # extract all rows
> dim(data)
[1] 6 1
> data
VIEW_NAME
1 MINING_DATA_APPLY_V
2 MINING_DATA_BUILD_V
3 MINING_DATA_TEST_V
4 MINING_DATA_TEXT_APPLY_V
5 MINING_DATA_TEXT_BUILD_V
6 MINING_DATA_TEXT_TEST_V
> dbCommit(con)
> dbClearResult(rs)
> dbDisconnect(con)
Using	
  ROracle	
  
Needs	
  Oracle	
  Client	
  
in	
  the	
  search	
  path	
  
Pulls	
  the	
  data	
  to	
  the	
  
Client	
  
Has	
  a	
  set	
  of	
  R	
  
func)ons	
  tuned	
  for	
  
the	
  Oracle	
  DB	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Challenges	
  	
  
§  Scalability	
  
§  Regardless	
  of	
  the	
  number	
  of	
  cores	
  on	
  your	
  CPU,	
  R	
  will	
  only	
  use	
  1	
  on	
  a	
  
default	
  build	
  
§  Performance	
  
§  R	
  reads	
  data	
  into	
  memory	
  by	
  default.	
  Easy	
  to	
  exhaust	
  RAM	
  by	
  storing	
  
unnecessary	
  data.	
  Typically	
  R	
  will	
  throw	
  an	
  excep)on	
  at	
  2GB.	
  
§  Paralleliza)on	
  can	
  be	
  challenge.	
  Is	
  not	
  Default.	
  Packages	
  available	
  
§  Produc)on	
  Deployment	
  
§  Difficul)es	
  deploying	
  R	
  in	
  produc)on	
  
§  Typically	
  need	
  to	
  re-­‐code	
  in	
  …..	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  &	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  &	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Comprehensive	
  Advanced	
  Analy)cs	
  Plaform	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Technique	
   Algorithms	
   Applicability	
  
Classifica)on	
   Logis)c	
  Regression	
  (GLM)	
  
Decision	
  Trees	
  
Naïve	
  Bayes	
  
Support	
  Vector	
  Machine	
  
Classical	
  Sta)s)cal	
  Technique	
  
Popular	
  /	
  Rules	
  /	
  Transparency	
  
Embedded	
  
Wide	
  /	
  Narrow	
  Data	
  /	
  Text	
  
Regression	
  
	
  
	
  
Mul)ple	
  Regression	
  
Support	
  Vector	
  Machine	
  
Classical	
  Sta)s)cal	
  Technique	
  
Wide	
  /	
  Narrow	
  Data	
  /	
  Text	
  
	
  
Anomaly	
  Detec)on	
  
	
  
	
  
One	
  Class	
  SVM	
   Lack	
  Examples	
  
AXribute	
  Importance	
  
	
  
	
  
Minimum	
  Descrip)ve	
  Length	
   AXribute	
  Reduc)on	
  
Iden)fy	
  Useful	
  Data	
  
Reduce	
  Data	
  Noise	
  
Associa)on	
  Rules	
  
	
  
	
  
Apriori	
   Market	
  Basket	
  Analysis	
  
Link	
  Analysis	
  
Clustering	
   Enhanced	
  K-­‐Means	
  
O-­‐Cluster	
  
Expecta)on	
  Maximiza)on	
  
Product	
  Grouping	
  
Text	
  Mining	
  
Gene	
  and	
  Protein	
  Analysis	
  
Feature	
  Extrac)on	
   Non-­‐Nega)ve	
  Matrix	
  Factoriza)on	
  
Principal	
  Components	
  Analysis	
  
Singular	
  Vector	
  Decomposi)on	
  
Text	
  Analysis	
  
Feature	
  Reduc)on	
  
In-­‐Database	
  Data	
  Mining	
  Algorithms	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Oracle	
  Data	
  Mining	
  
§  PL/SQL	
  Package	
  
§  DBMS_DATA_MINING	
  
§  DBMS_DATA_MINING_TRANSFORM	
  
§  DBMS_PREDICTIVE_ANALYTICS	
  
§  SQL	
  Func)ons	
  
–  PREDICTION	
  
–  PREDICTION_PROBABILITY	
  
–  PREDICTION_BOUNDS	
  
–  PREDICTION_COST	
  
–  PREDICTION_DETAILS	
  
–  PREDICTION_SET	
  
–  CLUSTER_ID	
  
–  CLUSTER_DETAILS	
  
–  CLUSTER_DISTANCE	
  
–  CLUSTER_PROBABILITY	
  
–  CLUSTER_SET	
  
–  FEATURE_ID	
  
–  FEATURE_DETAILS	
  
–  FEATURE_SET	
  
–  FEATURE_VALUE	
  
§  12c	
  –	
  Predic)ve	
  Queries	
  
§  aka	
  	
  Dynamic	
  Queries	
  
§  Transi)ve	
  dynamic	
  Data	
  Mining	
  models	
  
§  Can	
  scale	
  to	
  many	
  100+	
  models	
  all	
  in	
  one	
  
statement	
  	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Sta)s)cal	
  Func)ons	
  in	
  Oracle	
  
All	
  of	
  these	
  are	
  
FREE	
  	
  
with	
  the	
  Database	
  
These	
  are	
  oren	
  
forgoXen	
  about	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Comprehensive	
  Advanced	
  Analy)cs	
  Plaform	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Comprehensive	
  Advanced	
  Analy)cs	
  Plaform	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  &	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  &	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Oracle	
  R	
  Technologies	
  
R	
  Distribu)on	
   Oracle's	
  supported	
  redistribu)on	
  of	
  open	
  source	
  R,	
  provided	
  as	
  a	
  free	
  
download	
  from	
  Oracle,	
  enhanced	
  with	
  dynamic	
  loading	
  of	
  high	
  
performance	
  linear	
  algebra	
  libraries. 	
  	
  
Oracle	
  R	
  Enterprise	
   Integra)on	
  of	
  R	
  with	
  Oracle	
  Database.	
  A	
  component	
  of	
  the	
  Oracle	
  
Advanced	
  Analy)cs	
  Op)on.	
  Oracle	
  R	
  Enterprise	
  makes	
  the	
  open	
  source	
  R	
  
sta)s)cal	
  programming	
  language	
  and	
  environment	
  ready	
  for	
  the	
  
enterprise	
  with	
  scalability,	
  performance,	
  and	
  ease	
  of	
  produc)on	
  
deployment.	
  
Oracle	
  R	
  Advanced	
  Analy)cs	
  for	
  
Hadoop	
  
High	
  performance	
  na)ve	
  access	
  to	
  the	
  Hadoop	
  Distributed	
  File	
  System	
  
(HDFS)	
  and	
  MapReduce	
  programming	
  framework	
  for	
  R	
  users.	
  Oracle	
  R	
  
Advanced	
  Analy)cs	
  for	
  Hadoop	
  is	
  a	
  component	
  of	
  Oracle	
  Big	
  Data	
  
Connectors	
  sorware	
  suite. 	
  	
  
ROracle	
   An	
  open	
  source	
  R	
  package,	
  maintained	
  by	
  Oracle	
  and	
  enhanced	
  to	
  use	
  the	
  
Oracle	
  Call	
  Interface	
  (OCI)	
  libraries	
  to	
  handle	
  database	
  connec)ons	
  -­‐	
  
providing	
  a	
  high-­‐performance,	
  na)ve	
  C-­‐language	
  interface	
  to	
  Oracle	
  
Database.	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Oracle	
  R	
  Enterprise	
  
§  R	
  installed	
  in	
  ORACLE_HOME	
  
§  Fully	
  integrated	
  with	
  the	
  database	
  
§  Overcomes	
  the	
  limita)ons	
  of	
  R	
  
§  U)lizes	
  the	
  DB	
  performance	
  and	
  scalability	
  
features	
  
§  Full	
  integra)on	
  into	
  the	
  DB	
  engine	
  
§  Can	
  run	
  R	
  inside	
  the	
  DB	
  
§  Can	
  store	
  R	
  object	
  in	
  the	
  DB	
  
§  Can	
  run	
  R	
  objects	
  using	
  SQL	
  &	
  PL/SQL	
  
§  Easily	
  integrated	
  into	
  other	
  Oracle	
  Tools	
  
and	
  Applica)ons	
  
§  Greatly	
  expands	
  the	
  sta)s)cs	
  &	
  analy)cs	
  	
  
§  Easily	
  integrates	
  new	
  “bells	
  &	
  whistles”	
  
package	
  comes	
  available	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Oracle	
  R	
  Enterprise	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Magic	
  	
  	
  :	
  The	
  Transparency	
  Layer	
  
§  No	
  need	
  to	
  learn	
  a	
  different	
  programming	
  paradigm	
  or	
  environment	
  	
  
•  If	
  you	
  are	
  an	
  R	
  programmer	
  
§  Operate	
  on	
  database	
  data	
  as	
  though	
  they	
  were	
  R	
  objects	
  using	
  R	
  syntax	
  	
  
§  Require	
  minimal	
  change	
  to	
  base	
  R	
  scripts	
  for	
  database	
  data	
  	
  
§  Implicitly	
  translates	
  R	
  to	
  SQL	
  for	
  in-­‐database	
  execu)on,	
  performance,	
  and	
  
scalability	
  	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
> AggData <- aggregate(CUSTOMER_V$CUST_ID,
by = list(CUST_GENDER = CUSTOMER_V$CUST_GENDER),

FUN = length) 

> # Display the results 

> AggData 

CUST_GENDER x 

F F 18325 

M M 37175
select	
  cust_gender,	
  count(*)	
  X	
  
from	
  	
  	
  customer_v	
  
group	
  by	
  cust_gender;	
  	
  
CUST_GENDER X
----------- ----------
F 18325
M 37175
Oracle	
  R	
  Enterprise	
  
Transparency	
  Layer	
  
1
2
3
4
5
6
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Magic	
  	
  	
  :	
  The	
  Transparency	
  Layer	
  
§  R	
  interface	
  to	
  in-­‐Database	
  Sta)s)cal	
  func)ons	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Magic	
  	
  	
  :	
  The	
  Transparency	
  Layer	
  
§  R	
  interface	
  to	
  in-­‐Database	
  Predic)ve	
  Analy)cs	
  func)ons	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Magic	
  	
  	
  :	
  The	
  Transparency	
  Layer	
  
§  In	
  R	
  all	
  commands	
  are	
  executed	
  immediately	
  	
  
§  In	
  ORE,	
  commands	
  are	
  not	
  executed	
  immediately	
  
§  They	
  are	
  stacked	
  and	
  accumulated	
  
§  When	
  a	
  final	
  result	
  is	
  needed	
  (for	
  computa)on	
  or	
  viewing)	
  
§  Oracle	
  will	
  perform	
  some	
  op)miza)on	
  	
  reorganiza)on	
  of	
  the	
  commands	
  
§  Oracle	
  will	
  perform	
  query	
  op)miza)on	
  
§  Oracle	
  will	
  translate	
  into	
  in-­‐Database	
  SQL	
  and	
  PL/SQL	
  func)on/
procedures/packages	
  
§  Execute	
  the	
  SQL	
  (	
  R)	
  commands	
  on	
  the	
  data	
  in	
  the	
  database	
  
§  Oracle	
  will	
  manage	
  the	
  results	
  
§  The	
  returned	
  results	
  will	
  be	
  translated	
  back	
  into	
  R	
  format	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  R	
  objects	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
You	
  can	
  run	
  all	
  the	
  
example	
  code	
  if	
  you	
  
have	
  the	
  	
  
ODM	
  Demo	
  Schema	
  
created	
  
Code	
  Demo	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Embedded	
  R	
  Execu)on	
  using	
  SQL	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
--
-- Now let us use the Demo_GLM_Batch script to score data in Real-Time
-- The data values are passed to the GLM model
--
select * from table(rqTableEval(
cursor(select 'M' CUST_GENDER,
23 AGE,
'Married' CUST_MARITAL_STATUS,
'United States of America' COUNTRY_NAME,
'B: 30,000 - 49,999' CUST_INCOME_LEVEL,
'Assoc-A' EDUCATION,
'3' HOUSEHOLD_SIZE,
5 YRS_RESIDENCE
from dual),
cursor(select 'myDatastore' datastore_name, 1 ore.connect from dual),
'select CUST_GENDER, AGE, CUST_MARITAL_STATUS, COUNTRY_NAME, CUST_INCOME_LEVEL, EDUCATION,
HOUSEHOLD_SIZE, YRS_RESIDENCE, 1 PRED from MINING_DATA_APPLY',
'Demo_GLM_Batch')) order by 1, 2, 3;
What-­‐if	
  analysis	
  
	
  
You	
  can	
  easily	
  use	
  this	
  	
  
in-­‐Database	
  R	
  code	
  in	
  	
  
your	
  applica)ons	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Agenda	
  
•  What	
  is	
  R?	
  
•  Oracle	
  Advanced	
  Analy)cs	
  Op)on	
  
•  Oracle	
  R	
  Technologies	
  	
  Oracle	
  R	
  Enterprise	
  
•  Examples	
  of	
  using	
  ORE	
  
•  Crea)ng	
  	
  running	
  R	
  in	
  the	
  Database	
  
•  How	
  to	
  run	
  R	
  in	
  the	
  Database	
  using	
  SQL	
  
•  Using	
  ORE	
  with	
  other	
  products	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Integra)ng	
  with	
  OBIEE,	
  BI	
  Publisher	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Any	
  other	
  Language	
  or	
  Tool	
  
Database	
  Server	
  
Machine	
  
Oracle	
  Database	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
-­‐-­‐-­‐-­‐-­‐	
  
Tables	
  
In-­‐Database	
  
SQL	
  Func)ons	
  
R	
  Language	
  Installa)on	
  
ORE	
  Installed	
  Packages	
  
R	
  
Scripts	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
--
-- Create an embedded R script
-- Called using the ORE SQL API
-- - performs an aggregration of the data
-- - creates a Graphic Plot
--
begin
sys.rqScriptDrop('AgeProfile');
sys.rqScriptCreate('AgeProfile',
'function(dat) {
mdbv - dat
aggdata - aggregate(mdbv$AFFINITY_CARD,
by = list(Age = mdbv$AGE),
FUN = length)
res - plot(aggdata$Age, aggdata$x, type = l) } ');
end;
/
--
-- Execute the embedded R Script
-- - Graphic created in PNG format for import into OBIEE
-- - change PNG to XML for BI Publisher
--
select * from table(rqTableEval( cursor(select * from MINING_DATA_BUILD_V),
cursor(select 1 ore.connect from dual),
'PNG','AgeProfile'));
ORE	
  Demo	
  
ORE	
  Demo	
  Data	
  Chart	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Embedded	
  R	
  Execu)on	
  using	
  SQL	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Challenges	
  :	
  With	
  ORE	
  “Yes	
  we	
  can”	
  	
  
§  Scalability	
  
§  Regardless	
  of	
  the	
  number	
  of	
  cores	
  on	
  your	
  CPU,	
  R	
  will	
  only	
  use	
  1	
  on	
  a	
  
default	
  build	
  
§  Performance	
  
§  R	
  reads	
  data	
  into	
  memory	
  by	
  default.	
  Easy	
  to	
  exhaust	
  RAM	
  by	
  storing	
  
unnecessary	
  data.	
  Typically	
  R	
  will	
  throw	
  an	
  excep)on	
  at	
  2GB.	
  
§  Paralleliza)on	
  can	
  be	
  challenge.	
  Is	
  not	
  Default.	
  Packages	
  available	
  
§  Produc)on	
  Deployment	
  
§  Difficul)es	
  deploying	
  R	
  in	
  produc)on	
  
§  May	
  need	
  to	
  re-­‐code	
  in	
  …..	
  
✔	
  
✔	
  
✔	
  
Scale	
  with	
  the	
  
Database	
  
In-­‐Database	
  R	
  execu)on.	
  
	
  
Easy	
  integra)on	
  with	
  all	
  
your	
  applica)ons.	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Data	
  Mining	
  /	
  Data	
  Science	
  in	
  Oracle	
  	
  
	
  
	
  Is	
  Just	
  SQL	
  	
  (Oracle	
  Data	
  Mining	
  	
  
	
   	
   	
   	
  	
  	
  	
  	
  	
  	
  	
  SQL	
  Sta)s)cs	
  func)ons)	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  +	
  	
  	
  R	
  (Oracle	
  R	
  Enterprise)	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
The	
  Challenges	
  :	
  With	
  ORE	
  “Yes	
  we	
  can”	
  	
  
§  Scalability	
  
§  Regardless	
  of	
  the	
  number	
  of	
  cores	
  on	
  your	
  CPU,	
  R	
  will	
  only	
  
use	
  1	
  on	
  a	
  default	
  build	
  
§  Performance	
  
§  R	
  reads	
  data	
  into	
  memory	
  by	
  default.	
  Easy	
  to	
  exhaust	
  RAM	
  by	
  storing	
  
unnecessary	
  data.	
  Typically	
  R	
  will	
  throw	
  an	
  excep)on	
  at	
  2GB.	
  
§  Paralleliza)on	
  can	
  be	
  challenge.	
  Is	
  not	
  Default.	
  Packages	
  available	
  
§  Produc)on	
  Deployment	
  
§  Difficul)es	
  deploying	
  R	
  in	
  produc)on	
  
§  May	
  need	
  to	
  re-­‐code	
  in	
  …..	
  
✔	
  
✔	
  
✔	
  
Scale	
  with	
  the	
  
Database	
  
In-­‐Database	
  R	
  execu)on.	
  
	
  
Easy	
  integra)on	
  with	
  all	
  
your	
  applica)ons.	
  
	
  
What	
  if	
  I	
  want	
  to	
  use	
  a	
  new	
  R	
  Package?	
  	
  	
  
	
  
Easy,	
  just	
  install	
  it	
  on	
  the	
  DB	
  server	
  and	
  off	
  
you	
  go	
  !!!	
  
	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
	
  	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  brendan.)erney@oraly)cs.com	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  @brendan)erney	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  www.oraly)cs.com	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ie.linkedin.com/in/brendan)erney	
  
 	
  	
  www.oraly)cs.com 	
  t	
  :	
  @brendan)erney 	
  e	
  :	
  brendan.)erney@oraly)cs.com	
   	
   	
   	
  	
  
Word	
  Cloud	
  of	
  the	
  Oracle	
  Advanced	
  
Analy)cs	
  web-­‐pages	
  
	
  
hXp://www.oraly)cs.com/2015/01/crea)ng-­‐word-­‐cloud-­‐of-­‐oracle-­‐oaa.html	
  

Weitere ähnliche Inhalte

Was ist angesagt?

2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptxAndrew Lamb
 
Apache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingApache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingGerger
 
Spark meetup v2.0.5
Spark meetup v2.0.5Spark meetup v2.0.5
Spark meetup v2.0.5Yan Zhou
 
DataSource V2 and Cassandra – A Whole New World
DataSource V2 and Cassandra – A Whole New WorldDataSource V2 and Cassandra – A Whole New World
DataSource V2 and Cassandra – A Whole New WorldDatabricks
 
Where does hadoop come handy
Where does hadoop come handyWhere does hadoop come handy
Where does hadoop come handyPraveen Sripati
 
Frustration-Reduced Spark: DataFrames and the Spark Time-Series Library
Frustration-Reduced Spark: DataFrames and the Spark Time-Series LibraryFrustration-Reduced Spark: DataFrames and the Spark Time-Series Library
Frustration-Reduced Spark: DataFrames and the Spark Time-Series LibraryIlya Ganelin
 
Structured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack GudenkaufStructured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack GudenkaufDatabricks
 
Analyzing Real-World Data with Apache Drill
Analyzing Real-World Data with Apache DrillAnalyzing Real-World Data with Apache Drill
Analyzing Real-World Data with Apache Drilltshiran
 
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Julian Hyde
 
SQL on everything, in memory
SQL on everything, in memorySQL on everything, in memory
SQL on everything, in memoryJulian Hyde
 
Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...
Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...
Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...CloudxLab
 
Advanced goldengate training ⅰ
Advanced goldengate training ⅰAdvanced goldengate training ⅰ
Advanced goldengate training ⅰoggers
 
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...Chris Fregly
 
Spark rdd vs data frame vs dataset
Spark rdd vs data frame vs datasetSpark rdd vs data frame vs dataset
Spark rdd vs data frame vs datasetAnkit Beohar
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollPGConf APAC
 
Oracle Advanced Analytics
Oracle Advanced AnalyticsOracle Advanced Analytics
Oracle Advanced Analyticsaghosh_us
 
Zero to Streaming: Spark and Cassandra
Zero to Streaming: Spark and CassandraZero to Streaming: Spark and Cassandra
Zero to Streaming: Spark and CassandraRussell Spitzer
 
Beyond shuffling - Scala Days Berlin 2016
Beyond shuffling - Scala Days Berlin 2016Beyond shuffling - Scala Days Berlin 2016
Beyond shuffling - Scala Days Berlin 2016Holden Karau
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Cloudera, Inc.
 

Was ist angesagt? (20)

2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptx
 
Apache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster ComputingApache Spark, the Next Generation Cluster Computing
Apache Spark, the Next Generation Cluster Computing
 
Spark meetup v2.0.5
Spark meetup v2.0.5Spark meetup v2.0.5
Spark meetup v2.0.5
 
DataSource V2 and Cassandra – A Whole New World
DataSource V2 and Cassandra – A Whole New WorldDataSource V2 and Cassandra – A Whole New World
DataSource V2 and Cassandra – A Whole New World
 
Where does hadoop come handy
Where does hadoop come handyWhere does hadoop come handy
Where does hadoop come handy
 
Frustration-Reduced Spark: DataFrames and the Spark Time-Series Library
Frustration-Reduced Spark: DataFrames and the Spark Time-Series LibraryFrustration-Reduced Spark: DataFrames and the Spark Time-Series Library
Frustration-Reduced Spark: DataFrames and the Spark Time-Series Library
 
Structured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack GudenkaufStructured Streaming for Columnar Data Warehouses with Jack Gudenkauf
Structured Streaming for Columnar Data Warehouses with Jack Gudenkauf
 
Analyzing Real-World Data with Apache Drill
Analyzing Real-World Data with Apache DrillAnalyzing Real-World Data with Apache Drill
Analyzing Real-World Data with Apache Drill
 
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
 
SQL on everything, in memory
SQL on everything, in memorySQL on everything, in memory
SQL on everything, in memory
 
Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...
Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...
Apache Spark - Dataframes & Spark SQL - Part 1 | Big Data Hadoop Spark Tutori...
 
May 2013 HUG: HCatalog/Hive Data Out
May 2013 HUG: HCatalog/Hive Data OutMay 2013 HUG: HCatalog/Hive Data Out
May 2013 HUG: HCatalog/Hive Data Out
 
Advanced goldengate training ⅰ
Advanced goldengate training ⅰAdvanced goldengate training ⅰ
Advanced goldengate training ⅰ
 
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
 
Spark rdd vs data frame vs dataset
Spark rdd vs data frame vs datasetSpark rdd vs data frame vs dataset
Spark rdd vs data frame vs dataset
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
 
Oracle Advanced Analytics
Oracle Advanced AnalyticsOracle Advanced Analytics
Oracle Advanced Analytics
 
Zero to Streaming: Spark and Cassandra
Zero to Streaming: Spark and CassandraZero to Streaming: Spark and Cassandra
Zero to Streaming: Spark and Cassandra
 
Beyond shuffling - Scala Days Berlin 2016
Beyond shuffling - Scala Days Berlin 2016Beyond shuffling - Scala Days Berlin 2016
Beyond shuffling - Scala Days Berlin 2016
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0
 

Andere mochten auch

Innovate Analytics with Oracle Data Mining & Oracle R
Innovate Analytics with Oracle Data Mining & Oracle RInnovate Analytics with Oracle Data Mining & Oracle R
Innovate Analytics with Oracle Data Mining & Oracle RCapgemini
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryBrendan Tierney
 
Introduction to Map-Reduce
Introduction to Map-ReduceIntroduction to Map-Reduce
Introduction to Map-ReduceBrendan Tierney
 
Overview of Hadoop and HDFS
Overview of Hadoop and HDFSOverview of Hadoop and HDFS
Overview of Hadoop and HDFSBrendan Tierney
 
OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016Brendan Tierney
 
SQL: The one language to rule all your data
SQL: The one language to rule all your dataSQL: The one language to rule all your data
SQL: The one language to rule all your dataBrendan Tierney
 
Predictive analytics: Mining gold and creating valuable product
Predictive analytics: Mining gold and creating valuable productPredictive analytics: Mining gold and creating valuable product
Predictive analytics: Mining gold and creating valuable productBrendan Tierney
 
Biwa summit 2015 oaa oracle data miner hands on lab
Biwa summit 2015 oaa oracle data miner hands on labBiwa summit 2015 oaa oracle data miner hands on lab
Biwa summit 2015 oaa oracle data miner hands on labCharlie Berger
 
Open Canary - novahackers
Open Canary - novahackersOpen Canary - novahackers
Open Canary - novahackersChris Gates
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data miningYury Velikanov
 
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...Chris Gates
 
Home Arcade setup (NoVA Hackers)
Home Arcade setup (NoVA Hackers)Home Arcade setup (NoVA Hackers)
Home Arcade setup (NoVA Hackers)Chris Gates
 
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...Devid Dekegel
 
shared-ownership-21_FINAL
shared-ownership-21_FINALshared-ownership-21_FINAL
shared-ownership-21_FINALChristoph Sinn
 
Justin J. Dunne Resume
Justin J. Dunne ResumeJustin J. Dunne Resume
Justin J. Dunne ResumeJustin Dunne
 
apprenticeship-levy-summary-5may2016 (1)
apprenticeship-levy-summary-5may2016 (1)apprenticeship-levy-summary-5may2016 (1)
apprenticeship-levy-summary-5may2016 (1)David Ritchie
 
Introduction to map reduce
Introduction to map reduceIntroduction to map reduce
Introduction to map reduceBhupesh Chawda
 

Andere mochten auch (20)

Innovate Analytics with Oracle Data Mining & Oracle R
Innovate Analytics with Oracle Data Mining & Oracle RInnovate Analytics with Oracle Data Mining & Oracle R
Innovate Analytics with Oracle Data Mining & Oracle R
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th January
 
Introduction to Map-Reduce
Introduction to Map-ReduceIntroduction to Map-Reduce
Introduction to Map-Reduce
 
Overview of Hadoop and HDFS
Overview of Hadoop and HDFSOverview of Hadoop and HDFS
Overview of Hadoop and HDFS
 
OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016OUG Ireland Meet-up - Updates from Oracle Open World 2016
OUG Ireland Meet-up - Updates from Oracle Open World 2016
 
SQL: The one language to rule all your data
SQL: The one language to rule all your dataSQL: The one language to rule all your data
SQL: The one language to rule all your data
 
Predictive analytics: Mining gold and creating valuable product
Predictive analytics: Mining gold and creating valuable productPredictive analytics: Mining gold and creating valuable product
Predictive analytics: Mining gold and creating valuable product
 
Biwa summit 2015 oaa oracle data miner hands on lab
Biwa summit 2015 oaa oracle data miner hands on labBiwa summit 2015 oaa oracle data miner hands on lab
Biwa summit 2015 oaa oracle data miner hands on lab
 
Apresentação data mining
Apresentação data miningApresentação data mining
Apresentação data mining
 
Open Canary - novahackers
Open Canary - novahackersOpen Canary - novahackers
Open Canary - novahackers
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data mining
 
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
Building a Successful Internal Adversarial Simulation Team - Chris Gates & Ch...
 
Home Arcade setup (NoVA Hackers)
Home Arcade setup (NoVA Hackers)Home Arcade setup (NoVA Hackers)
Home Arcade setup (NoVA Hackers)
 
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
GAUCbe 2015 - Dashboard Building - Involving clients to find the right metric...
 
shared-ownership-21_FINAL
shared-ownership-21_FINALshared-ownership-21_FINAL
shared-ownership-21_FINAL
 
Justin J. Dunne Resume
Justin J. Dunne ResumeJustin J. Dunne Resume
Justin J. Dunne Resume
 
apprenticeship-levy-summary-5may2016 (1)
apprenticeship-levy-summary-5may2016 (1)apprenticeship-levy-summary-5may2016 (1)
apprenticeship-levy-summary-5may2016 (1)
 
Introduction to map reduce
Introduction to map reduceIntroduction to map reduce
Introduction to map reduce
 
1z0 591
1z0 5911z0 591
1z0 591
 
Final Paper
Final PaperFinal Paper
Final Paper
 

Ähnlich wie Overview of running R in the Oracle Database

Embedded R Execution using SQL
Embedded R Execution using SQLEmbedded R Execution using SQL
Embedded R Execution using SQLBrendan Tierney
 
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...Amazon Web Services
 
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...Lucidworks
 
Microsoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaMicrosoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaData Science Thailand
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for GraphsJean Ihm
 
U-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersU-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersMichael Rys
 
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...Databricks
 
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital.AI
 
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»e-Legion
 
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced AnalyticsETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced AnalyticsMiklos Christine
 
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...jaxLondonConference
 
A Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules Damji
A Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules DamjiA Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules Damji
A Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules DamjiData Con LA
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowKarsten Dambekalns
 
Alex mang patterns for scalability in microsoft azure application
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure applicationCodecamp Romania
 
Adios hadoop, Hola Spark! T3chfest 2015
Adios hadoop, Hola Spark! T3chfest 2015Adios hadoop, Hola Spark! T3chfest 2015
Adios hadoop, Hola Spark! T3chfest 2015dhiguero
 
From Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's Data
From Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's DataFrom Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's Data
From Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's DataDatabricks
 
Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝
Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝
Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝OSS On Azure
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingAraf Karsh Hamid
 
Speed up R with parallel programming in the Cloud
Speed up R with parallel programming in the CloudSpeed up R with parallel programming in the Cloud
Speed up R with parallel programming in the CloudRevolution Analytics
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkDatabricks
 

Ähnlich wie Overview of running R in the Oracle Database (20)

Embedded R Execution using SQL
Embedded R Execution using SQLEmbedded R Execution using SQL
Embedded R Execution using SQL
 
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
AWS November Webinar Series - Advanced Analytics with Amazon Redshift and the...
 
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...
Leveraging Lucene/Solr as a Knowledge Graph and Intent Engine: Presented by T...
 
Microsoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaMicrosoft R Server for Data Sciencea
Microsoft R Server for Data Sciencea
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
 
U-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for DevelopersU-SQL - Azure Data Lake Analytics for Developers
U-SQL - Azure Data Lake Analytics for Developers
 
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
A Tale of Three Apache Spark APIs: RDDs, DataFrames, and Datasets with Jules ...
 
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
 
Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»Rafael Bagmanov «Scala in a wild enterprise»
Rafael Bagmanov «Scala in a wild enterprise»
 
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced AnalyticsETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
 
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
Designing and Building a Graph Database Application - Ian Robinson (Neo Techn...
 
A Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules Damji
A Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules DamjiA Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules Damji
A Tale of Three Apache Spark APIs: RDDs, DataFrames and Datasets by Jules Damji
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 Flow
 
Alex mang patterns for scalability in microsoft azure application
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure application
 
Adios hadoop, Hola Spark! T3chfest 2015
Adios hadoop, Hola Spark! T3chfest 2015Adios hadoop, Hola Spark! T3chfest 2015
Adios hadoop, Hola Spark! T3chfest 2015
 
From Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's Data
From Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's DataFrom Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's Data
From Pandas to Koalas: Reducing Time-To-Insight for Virgin Hyperloop's Data
 
Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝
Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝
Azure HDlnsight에서 R 및 Spark를 이용하여 확장 가능한 머신러닝
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb Sharding
 
Speed up R with parallel programming in the Cloud
Speed up R with parallel programming in the CloudSpeed up R with parallel programming in the Cloud
Speed up R with parallel programming in the Cloud
 
Best Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache SparkBest Practices for Building and Deploying Data Pipelines in Apache Spark
Best Practices for Building and Deploying Data Pipelines in Apache Spark
 

Kürzlich hochgeladen

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Overview of running R in the Oracle Database

  • 1.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Running  R  in  the  Database  using     Oracle  R  Enterprise     Brendan Tierney Code  Demo  
  • 2.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           §  Data  Warehousing  since  1997   §  Data  Mining  since  1998   §  Analy)cs  since  1993   Brendan  Tierney  
  • 3.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies  &  Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng  &  running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products   Code  Demo  
  • 4.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies  &  Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng  &  running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products  
  • 5.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           R   §  R  Open  source  sta)s)cal  compu)ng  and  graphics   language   §  Started  in  1993  as  an  alterna)ve  to  SAS,  SPSS  and   other  proprietary  sta)s)cal  packages   •  Originally  called  S,  renamed  to  R  in  1996   §  R  is  a  client  and  server  bundled  together  as  one   executable   •  It  is  a  single  user  tool   •  It  is  not  mul)-­‐threaded   •  Constrained  to  a  single  CPU   §  Millions  of  R  users  worldwide   §  Thousands  of  libraries  available  at   •  hXp://cran.r-­‐project.org   §  Free   Milestones:   2017-­‐01-­‐09:  9870  packages   2016-­‐06-­‐01:  8492  packages   2015-­‐03-­‐13:  6400  packages   2015-­‐02-­‐15:  6325  packages   2014-­‐10-­‐29:  6000  packages   2013-­‐11-­‐08:  5000  packages   2012-­‐08-­‐23:  4000  packages   2011-­‐05-­‐12:  3000  packages   2009-­‐10-­‐04:  2000  packages   2007-­‐04-­‐12:  1000  packages   2004-­‐10-­‐01:  500  packages   2003-­‐04-­‐01:  250  packages  
  • 6.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           §  Is  used  every  where   §  Par)cularly  in  USA   –  And  else  where  
  • 7.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Examples  of  R  
  • 8.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           > library(RJDBC) > # Create connection driver and open > connectionjdbcDriver <- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="c:/ojdbc6.jar") > jdbcConnection <- dbConnect(jdbcDriver, "jdbc:oracle:thin:@//localhost:1521/orcl", "dmuser", "dmuser") > #list the tables in the schema > #dbListTables(jdbcConnection) > #get the DB connections details - it get LOTS of info - Do not run unless it is really needed > dbGetInfo(jdbcConnection) > # Query on the Oracle instance name. > #instanceName <- dbGetQuery(jdbcConnection, "SELECT instance_name FROM v$instance") TABLE_NAME1 1 INSUR_CUST_LTV_SAMPLE2 2 OUTPUT_1_2 > #print(instanceName)tableNames <- dbGetQuery(jdbcConnection, "SELECT table_name from user_tables where table_name not like 'DM$%' and table_name not like 'ODMR$%'") > print(tableNames) > viewNames <- dbGetQuery(jdbcConnection, "SELECT view_name from user_views")print(viewNames) 1 MINING_DATA_APPLY_V 2 MINING_DATA_BUILD_V 3 MINING_DATA_TEST_V 4 MINING_DATA_TEXT_APPLY_V 5 MINING_DATA_TEXT_BUILD_V 6 MINING_DATA_TEXT_TEST_V > dbDisconnect(jdbcConnection) Using  RJDBC  
  • 9.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           > library(ROracle) > drv <- dbDriver("Oracle") > # Create the connection string > host <- "localhost" > port <- 1521 > sid <- "orcl" >connect.string <- paste("(DESCRIPTION=”, "(ADDRESS=(PROTOCOL=tcp)(HOST=", host, ")(PORT=", port, "))", > "(CONNECT_DATA=(SID=", sid, ")))", sep = "") > con <- dbConnect(drv, username = "dmuser", password = "dmuser",dbname=connect.string) > rs <- dbSendQuery(con, "select view_name from user_views") > # fetch records from the resultSet into a data.frame > data <- fetch(rs) > # extract all rows > dim(data) [1] 6 1 > data VIEW_NAME 1 MINING_DATA_APPLY_V 2 MINING_DATA_BUILD_V 3 MINING_DATA_TEST_V 4 MINING_DATA_TEXT_APPLY_V 5 MINING_DATA_TEXT_BUILD_V 6 MINING_DATA_TEXT_TEST_V > dbCommit(con) > dbClearResult(rs) > dbDisconnect(con) Using  ROracle   Needs  Oracle  Client   in  the  search  path   Pulls  the  data  to  the   Client   Has  a  set  of  R   func)ons  tuned  for   the  Oracle  DB  
  • 10.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Challenges     §  Scalability   §  Regardless  of  the  number  of  cores  on  your  CPU,  R  will  only  use  1  on  a   default  build   §  Performance   §  R  reads  data  into  memory  by  default.  Easy  to  exhaust  RAM  by  storing   unnecessary  data.  Typically  R  will  throw  an  excep)on  at  2GB.   §  Paralleliza)on  can  be  challenge.  Is  not  Default.  Packages  available   §  Produc)on  Deployment   §  Difficul)es  deploying  R  in  produc)on   §  Typically  need  to  re-­‐code  in  …..  
  • 11.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies  &  Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng  &  running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products  
  • 12.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Comprehensive  Advanced  Analy)cs  Plaform  
  • 13.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Technique   Algorithms   Applicability   Classifica)on   Logis)c  Regression  (GLM)   Decision  Trees   Naïve  Bayes   Support  Vector  Machine   Classical  Sta)s)cal  Technique   Popular  /  Rules  /  Transparency   Embedded   Wide  /  Narrow  Data  /  Text   Regression       Mul)ple  Regression   Support  Vector  Machine   Classical  Sta)s)cal  Technique   Wide  /  Narrow  Data  /  Text     Anomaly  Detec)on       One  Class  SVM   Lack  Examples   AXribute  Importance       Minimum  Descrip)ve  Length   AXribute  Reduc)on   Iden)fy  Useful  Data   Reduce  Data  Noise   Associa)on  Rules       Apriori   Market  Basket  Analysis   Link  Analysis   Clustering   Enhanced  K-­‐Means   O-­‐Cluster   Expecta)on  Maximiza)on   Product  Grouping   Text  Mining   Gene  and  Protein  Analysis   Feature  Extrac)on   Non-­‐Nega)ve  Matrix  Factoriza)on   Principal  Components  Analysis   Singular  Vector  Decomposi)on   Text  Analysis   Feature  Reduc)on   In-­‐Database  Data  Mining  Algorithms  
  • 14.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Oracle  Data  Mining   §  PL/SQL  Package   §  DBMS_DATA_MINING   §  DBMS_DATA_MINING_TRANSFORM   §  DBMS_PREDICTIVE_ANALYTICS   §  SQL  Func)ons   –  PREDICTION   –  PREDICTION_PROBABILITY   –  PREDICTION_BOUNDS   –  PREDICTION_COST   –  PREDICTION_DETAILS   –  PREDICTION_SET   –  CLUSTER_ID   –  CLUSTER_DETAILS   –  CLUSTER_DISTANCE   –  CLUSTER_PROBABILITY   –  CLUSTER_SET   –  FEATURE_ID   –  FEATURE_DETAILS   –  FEATURE_SET   –  FEATURE_VALUE   §  12c  –  Predic)ve  Queries   §  aka    Dynamic  Queries   §  Transi)ve  dynamic  Data  Mining  models   §  Can  scale  to  many  100+  models  all  in  one   statement    
  • 15.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Sta)s)cal  Func)ons  in  Oracle   All  of  these  are   FREE     with  the  Database   These  are  oren   forgoXen  about  
  • 16.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Comprehensive  Advanced  Analy)cs  Plaform  
  • 17.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Comprehensive  Advanced  Analy)cs  Plaform  
  • 18.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies  &  Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng  &  running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products  
  • 19.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Oracle  R  Technologies   R  Distribu)on   Oracle's  supported  redistribu)on  of  open  source  R,  provided  as  a  free   download  from  Oracle,  enhanced  with  dynamic  loading  of  high   performance  linear  algebra  libraries.     Oracle  R  Enterprise   Integra)on  of  R  with  Oracle  Database.  A  component  of  the  Oracle   Advanced  Analy)cs  Op)on.  Oracle  R  Enterprise  makes  the  open  source  R   sta)s)cal  programming  language  and  environment  ready  for  the   enterprise  with  scalability,  performance,  and  ease  of  produc)on   deployment.   Oracle  R  Advanced  Analy)cs  for   Hadoop   High  performance  na)ve  access  to  the  Hadoop  Distributed  File  System   (HDFS)  and  MapReduce  programming  framework  for  R  users.  Oracle  R   Advanced  Analy)cs  for  Hadoop  is  a  component  of  Oracle  Big  Data   Connectors  sorware  suite.     ROracle   An  open  source  R  package,  maintained  by  Oracle  and  enhanced  to  use  the   Oracle  Call  Interface  (OCI)  libraries  to  handle  database  connec)ons  -­‐   providing  a  high-­‐performance,  na)ve  C-­‐language  interface  to  Oracle   Database.  
  • 20.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Oracle  R  Enterprise   §  R  installed  in  ORACLE_HOME   §  Fully  integrated  with  the  database   §  Overcomes  the  limita)ons  of  R   §  U)lizes  the  DB  performance  and  scalability   features   §  Full  integra)on  into  the  DB  engine   §  Can  run  R  inside  the  DB   §  Can  store  R  object  in  the  DB   §  Can  run  R  objects  using  SQL  &  PL/SQL   §  Easily  integrated  into  other  Oracle  Tools   and  Applica)ons   §  Greatly  expands  the  sta)s)cs  &  analy)cs     §  Easily  integrates  new  “bells  &  whistles”   package  comes  available  
  • 21.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Oracle  R  Enterprise  
  • 22.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Magic      :  The  Transparency  Layer   §  No  need  to  learn  a  different  programming  paradigm  or  environment     •  If  you  are  an  R  programmer   §  Operate  on  database  data  as  though  they  were  R  objects  using  R  syntax     §  Require  minimal  change  to  base  R  scripts  for  database  data     §  Implicitly  translates  R  to  SQL  for  in-­‐database  execu)on,  performance,  and   scalability    
  • 23.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           > AggData <- aggregate(CUSTOMER_V$CUST_ID, by = list(CUST_GENDER = CUSTOMER_V$CUST_GENDER),
 FUN = length) 
 > # Display the results 
 > AggData 
 CUST_GENDER x 
 F F 18325 
 M M 37175 select  cust_gender,  count(*)  X   from      customer_v   group  by  cust_gender;     CUST_GENDER X ----------- ---------- F 18325 M 37175 Oracle  R  Enterprise   Transparency  Layer   1 2 3 4 5 6
  • 24.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Magic      :  The  Transparency  Layer   §  R  interface  to  in-­‐Database  Sta)s)cal  func)ons  
  • 25.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Magic      :  The  Transparency  Layer   §  R  interface  to  in-­‐Database  Predic)ve  Analy)cs  func)ons  
  • 26.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Magic      :  The  Transparency  Layer   §  In  R  all  commands  are  executed  immediately     §  In  ORE,  commands  are  not  executed  immediately   §  They  are  stacked  and  accumulated   §  When  a  final  result  is  needed  (for  computa)on  or  viewing)   §  Oracle  will  perform  some  op)miza)on    reorganiza)on  of  the  commands   §  Oracle  will  perform  query  op)miza)on   §  Oracle  will  translate  into  in-­‐Database  SQL  and  PL/SQL  func)on/ procedures/packages   §  Execute  the  SQL  (  R)  commands  on  the  data  in  the  database   §  Oracle  will  manage  the  results   §  The  returned  results  will  be  translated  back  into  R  format  
  • 27.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies    Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng  R  objects  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products   You  can  run  all  the   example  code  if  you   have  the     ODM  Demo  Schema   created   Code  Demo  
  • 28.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com          
  • 29.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies    Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng    running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products  
  • 30.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com          
  • 31.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies    Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng    running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products  
  • 32.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Embedded  R  Execu)on  using  SQL  
  • 33.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com          
  • 34.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           -- -- Now let us use the Demo_GLM_Batch script to score data in Real-Time -- The data values are passed to the GLM model -- select * from table(rqTableEval( cursor(select 'M' CUST_GENDER, 23 AGE, 'Married' CUST_MARITAL_STATUS, 'United States of America' COUNTRY_NAME, 'B: 30,000 - 49,999' CUST_INCOME_LEVEL, 'Assoc-A' EDUCATION, '3' HOUSEHOLD_SIZE, 5 YRS_RESIDENCE from dual), cursor(select 'myDatastore' datastore_name, 1 ore.connect from dual), 'select CUST_GENDER, AGE, CUST_MARITAL_STATUS, COUNTRY_NAME, CUST_INCOME_LEVEL, EDUCATION, HOUSEHOLD_SIZE, YRS_RESIDENCE, 1 PRED from MINING_DATA_APPLY', 'Demo_GLM_Batch')) order by 1, 2, 3; What-­‐if  analysis     You  can  easily  use  this     in-­‐Database  R  code  in     your  applica)ons  
  • 35.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Agenda   •  What  is  R?   •  Oracle  Advanced  Analy)cs  Op)on   •  Oracle  R  Technologies    Oracle  R  Enterprise   •  Examples  of  using  ORE   •  Crea)ng    running  R  in  the  Database   •  How  to  run  R  in  the  Database  using  SQL   •  Using  ORE  with  other  products  
  • 36.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Integra)ng  with  OBIEE,  BI  Publisher                            Any  other  Language  or  Tool   Database  Server   Machine   Oracle  Database   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   -­‐-­‐-­‐-­‐-­‐   Tables   In-­‐Database   SQL  Func)ons   R  Language  Installa)on   ORE  Installed  Packages   R   Scripts  
  • 37.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           -- -- Create an embedded R script -- Called using the ORE SQL API -- - performs an aggregration of the data -- - creates a Graphic Plot -- begin sys.rqScriptDrop('AgeProfile'); sys.rqScriptCreate('AgeProfile', 'function(dat) { mdbv - dat aggdata - aggregate(mdbv$AFFINITY_CARD, by = list(Age = mdbv$AGE), FUN = length) res - plot(aggdata$Age, aggdata$x, type = l) } '); end; / -- -- Execute the embedded R Script -- - Graphic created in PNG format for import into OBIEE -- - change PNG to XML for BI Publisher -- select * from table(rqTableEval( cursor(select * from MINING_DATA_BUILD_V), cursor(select 1 ore.connect from dual), 'PNG','AgeProfile')); ORE  Demo   ORE  Demo  Data  Chart  
  • 38.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com          
  • 39.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Embedded  R  Execu)on  using  SQL  
  • 40.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Challenges  :  With  ORE  “Yes  we  can”     §  Scalability   §  Regardless  of  the  number  of  cores  on  your  CPU,  R  will  only  use  1  on  a   default  build   §  Performance   §  R  reads  data  into  memory  by  default.  Easy  to  exhaust  RAM  by  storing   unnecessary  data.  Typically  R  will  throw  an  excep)on  at  2GB.   §  Paralleliza)on  can  be  challenge.  Is  not  Default.  Packages  available   §  Produc)on  Deployment   §  Difficul)es  deploying  R  in  produc)on   §  May  need  to  re-­‐code  in  …..   ✔   ✔   ✔   Scale  with  the   Database   In-­‐Database  R  execu)on.     Easy  integra)on  with  all   your  applica)ons.  
  • 41.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Data  Mining  /  Data  Science  in  Oracle        Is  Just  SQL    (Oracle  Data  Mining                          SQL  Sta)s)cs  func)ons)                          +      R  (Oracle  R  Enterprise)  
  • 42.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           The  Challenges  :  With  ORE  “Yes  we  can”     §  Scalability   §  Regardless  of  the  number  of  cores  on  your  CPU,  R  will  only   use  1  on  a  default  build   §  Performance   §  R  reads  data  into  memory  by  default.  Easy  to  exhaust  RAM  by  storing   unnecessary  data.  Typically  R  will  throw  an  excep)on  at  2GB.   §  Paralleliza)on  can  be  challenge.  Is  not  Default.  Packages  available   §  Produc)on  Deployment   §  Difficul)es  deploying  R  in  produc)on   §  May  need  to  re-­‐code  in  …..   ✔   ✔   ✔   Scale  with  the   Database   In-­‐Database  R  execu)on.     Easy  integra)on  with  all   your  applica)ons.     What  if  I  want  to  use  a  new  R  Package?         Easy,  just  install  it  on  the  DB  server  and  off   you  go  !!!    
  • 43.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com                                            brendan.)erney@oraly)cs.com                                  @brendan)erney                                www.oraly)cs.com                                  ie.linkedin.com/in/brendan)erney  
  • 44.      www.oraly)cs.com  t  :  @brendan)erney  e  :  brendan.)erney@oraly)cs.com           Word  Cloud  of  the  Oracle  Advanced   Analy)cs  web-­‐pages     hXp://www.oraly)cs.com/2015/01/crea)ng-­‐word-­‐cloud-­‐of-­‐oracle-­‐oaa.html