integrate your advanced analytics into bi apps and ms office and multiply their value
TRANSCRIPT
Revolution ConfidentialREvolution Confidential
Revolution Confidential
David C hampagne
May 8, 2012
Deploying R evolution R E nterpris e with B us ines s Intelligenc e A pplic ations
Revolution ConfidentialREvolution Confidential
Revolution Confidential
Our C us tomers Want to… Be more productive Stop cutting and pasting analytics into MS Office applications Get feedback from a wider variety of analytic consumers
Make the company’s “analytic consumers” self-sufficient Provide the model and secure access to data and let them
iterate and learn Provide more timely updates Model updates with new data, so not restricted to “scheduled”
reporting intervals Deliver more value through BI application investment Advanced analytics complements traditional BI reporting, and
can leverage the work already done Elevate the value of the analytics team Once people see what’s possible, they’ll want more
Revolution ConfidentialREvolution Confidential
Revolution Confidential
The professor who invented analytic software for the experts now wants to take it to the masses
Most advanced statistical analysis software available
Half the cost of commercial alternatives
2M+ Users
2,500+ Applications
Statistics
Predictive Analytics
Data Mining
Visualization
Finance
Life Sciences
Manufacturing
Retail
Telecom
Social Media
Government
3
Power
Productivity
Enterprise Readiness
Revolution ConfidentialREvolution Confidential
Revolution Confidential
A dvanced A nalytics and B us ines s Intelligence
Obtain greater insights by adding advanced Analytics Predictive modeling Sales Forecasts Customer Affinity
Associations Clustering and Classification
Expose this capability to the business users
4
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R is the bes t c hoic e for job
R is a programming language Catalog of over 2500 open-source add-on
packages Community Thousands of contributors, 2 million users Resources and help in every domain
Develop and deploy your models with the same environment
5
Revolution ConfidentialREvolution Confidential
Revolution Confidential
A dding A dvanc ed A nalytic s
Use the same analytic toolset across applications and platforms Web Reporting and Dashboards Custom Interactive applications Mobile
Desktop Applications Excel Custom Apps via(.NET, Java)
Enterprise Processes via SOA
6
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evolution R E nterpris e - Deployment
7
Hadoop Cluster
Individual Analysts
Database Appliance
Deployment Servers
Business Users
HDFS
S
S
S
HOST
High Workload Clusters
Revolution ConfidentialREvolution Confidential
Revolution Confidential
C us tomer Us e C as es
Major NY Bank using Revolution R Enterprise to Create and Deploy Equity Trading models 500+ Analysts using the developed models
Major Hospital Network doing analytics on clinical data to generate treatment efficacy predictions and capacity forecasting Executive staff using output of analytics to make
business decisions
8
Revolution ConfidentialREvolution Confidential
Revolution Confidential
Demos
Polling Question #3
9
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR
10
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR – K ey A dvantages
Unlocks all the power of R to any 3rd party application Easy to use API – Rapid deployment Scalability – Add nodes as you need them Separation of expertise Statistician - Just writes R code, no need to
know about the application Application programmer – calls the API to
execute an R script, and gets the output.
11
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR
Designed to be Enterprise Ready Comprehensive collection of Web Service APIs Enterprise Security Stateful and Stateless execution of R
Code/Scripts Asynchronous Job Execution Repository for managing R objects and files Administration
12
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR - A rc hitec ture
13
RevoDeployR Web Services
Client libraries (JavaScript, Java, .NET)
Desktop Applications(i.e. Excel)
Business Intelligence
(i.e. QlikView)
Interactive Web or Mobile
Applications
HTTP/HTTPS – JSON/XML
Session Management Authentication Data/Script
Management Administration
RR Programmer
ApplicationDeveloper
End User
RR
Admin
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR - S erver
14
RevoDeployR Web Services API
Grid Management Framework
Spring3 Framework J2EE Framework
SQL Database WebDAV Repository
Management ConsoleGrid Node
RR
R
Grid NodeR
RR
Grid NodeR
RR
Applications Admin
R R Session
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR
Web Services Layer Implemented as RESTful API accessed via
HTTP or HTTPS Support for both JSON and XML formatted
payloads Client libraries in JavaScript, Java and .NET to
make integration easy
15
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR
R Scripts and R Code Stateless execution of pre-defined R Scripts Supports both Anonymous and Authenticated access Project is automatically created, inputs loaded, R script
executed, outputs returned, and session destroyed Stateful execution Must be an authenticated user Project is explicitly created/destroyed R script or R code executed in the defined project
Jobs Code and Script can be executed as a background job Results are persisted and can be retrieved later
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR
R Developer Create R code, defining inputs and outputs Inputs – R Objects Outputs – Files, Console, Warnings/Errors, R Objects
R Objects that can be rendered in JSON or XML as part of the API payload Primitives (character, numeric, logical, date, factor) Vector Matrix Data Frame List
17
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR
Application Developer Define RevoDeployR Server connection (URL) *Authenticate *Create/Open Project Execute Script or Execute Code Create list of inputs
R Objects Create lists of named outputs (if any)
R Objects
*Close R Project* Required for Stateful execution
18
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR – R E S T ful A P I
19
format = jsonHTTP POST on API call:/r/session/create
{"deployr": {
"response": {"success": true,"project": {
"lastmodified": "Thu, 20 Oct 2011 18:27:29 +0000","live": true,"origin": "Project original.","longdescr": null,"name": null,"projectcookie": null,"ispublic": false,"owner": "testuser","descr": null,"project": "PROJECT-5ab61ec0-09b9-44ea-837d-9e6f40a7e8a3"
},"call": "/r/project/create"
}}
}
JSON Response
Example HTTP Call to Create a Project
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR – S tateles s E xample (J avaS c ript)
20
var exeScript = function () { …
// set the call back configuration var callback = { success : plot, failure: fail, scope : this, verbose : true };
var rnum = Y.Revolution.RDataFactory.createNumeric('input_randomNum', num); var scriptConfig = { rscript:'DeployR - Hello World', inputs : [rnum]};
// execute RScriptY.Revolution.DeployR.repositoryScriptExecute(scriptConfig, callback);
};
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR – S tateful E xample
Use case - Simple Regression Upload a CSV file to the RevoDeployR Server Get a list of numeric variables Run a simple regression using 2 of the variables Return a plot
Implementation 2 R Scripts
Read the uploaded CSV and return the list of numeric variables Run the regression on the selected variables
Requires authentication (login) R Session is explicitly created after login Both scripts execute in the same R Session
21
Revolution ConfidentialREvolution Confidential
Revolution Confidential
R evoDeployR - S c alability
Add compute nodes to handle changing workload requirements Execute code and scripts as background
jobs Assign roles to nodes Anonymous Authenticated Jobs
22
Revolution ConfidentialREvolution Confidential
Revolution Confidential
T hank you.
23
www.revolutionanalytics.com 650.646.9545 Twitter: @RevolutionR
The leading commercial provider of software and support for the popular open source R statistics language.