Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

DeployR: Revolution R Enterprise with Business Intelligence Applications


Published on

Presented by Andrie DeVries to Munich R User Group, June 7 2013

Presented by Andrie DeVries to Munich R User Group, June 7 2013

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Enables Models and Analytics to be consumed by end users through BI applicationsRisk AnalysisSales ForecastingImplemented as a collection of Web Services that allow easy integration into many different 3rd party applicationsSame technology that provides the statistical engine for the GUI
  • HTML 5 rendered by Zing Charts
  • Transcript

    • 1. Revolution ConfidentialREvolution Confidential Revolution Confidential Andrie de Vries Business Services Director - Europe DeployR Revolution R Enterprise with Business Intelligence Applications Munich R user group 7/6/2013
    • 2. Revolution ConfidentialREvolution Confidential Revolution Scales R to the Enterprise… 2 Scale Performance Scale  Distributed high performance analytics Performance  Build & deploy analytics applications easily Enterprise Readiness  High speed connectors to enterprise environments  Full-service customer support, consulting and training Enterprise Readiness Confidential to Revolution Analytics
    • 3. Revolution ConfidentialREvolution Confidential Integration Layer: DeployR makes R accessible  Seamless Bring the power of R to any web enabled application  Simple Leverage common APIs including JS, Java, .NET  Scalable Robustly scale user and compute workloads  Secure Manage enterprise security with LDAP & SSO 3 R / Statistical Modeling Expert DeployR Data Analysis Business Intelligence Mobile Web Apps Cloud / SaaS Deployment Expert Confidential to Revolution Analytics
    • 4. Revolution ConfidentialREvolution Confidential On-Demand Analytics with RevoDeployR 4 Market Basket Analysis using Java Script and R enabled by DeployR •User selection drives Java Script… •which drives R script… •which drives Java Script to return to user data and graphics needed… •…enabled by DeployR API’s Confidential to Revolution Analytics
    • 5. Revolution ConfidentialREvolution Confidential Revolution R Enterprise - Deployment 5 Hadoop Cluster Individual Analysts Database Appliance Deployment Servers Business Users HDFS S S S H O S T High Workload Clusters
    • 6. Revolution ConfidentialREvolution Confidential RevoDeployR – Key Advantages  Unlocks 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 - writes R code  Application programmer – calls the API to execute an R script, and gets the output.  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 6
    • 7. Revolution ConfidentialREvolution Confidential RevoDeployR - Architecture 7 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 R R Programmer Application Developer End User R R Admin
    • 8. Revolution ConfidentialREvolution Confidential RevoDeployR - Server 8 RevoDeployR Web Services API Grid Management Framework Spring3 Framework J2EE Framework NoSQL Database Management Console Grid Node R R R Grid Node R R R Grid Node R R R Applications Admin R R Session
    • 9. Revolution ConfidentialREvolution Confidential 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
    • 10. Revolution ConfidentialREvolution Confidential Role of the 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 10
    • 11. Revolution ConfidentialREvolution Confidential RESTful API 11 format = json HTTP 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
    • 12. Revolution ConfidentialREvolution Confidential Stateless Example (JavaScript) 12 var exeScript = function () { … // set the call back configuration var callback = { success : plot, failure: fail, scope : this, verbose : true }; /* configuration input for repository script execution */ var scriptConfig = { filename : 'DeployR - Hello World', author: 'testuser', inputs : [R.RDataFactory.createNumeric('input_randomNum', parseInt(num, 10))] }; // execute RScript R.DeployR.repositoryScriptExecute(scriptConfig, callback); };
    • 13. Revolution ConfidentialREvolution Confidential Stateful Example  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 13
    • 14. Revolution ConfidentialREvolution Confidential Scalability  Add compute nodes to handle changing workload requirements  Execute code and scripts as background jobs  Assign roles to nodes  Anonymous  Authenticated  Jobs 14
    • 15. Revolution ConfidentialREvolution Confidential Resources  Revolution Analytics  White Paper  Whitepaper.html  Free Academic download   Commercial License  Enterprise.html  Jaspersoft  15