DeployR: Revolution R Enterprise with Business Intelligence Applications


Published on

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

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
  • DeployR: Revolution R Enterprise with Business Intelligence Applications

    1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15. Revolution ConfidentialREvolution Confidential Resources  Revolution Analytics  White Paper  Whitepaper.html  Free Academic download   Commercial License  Enterprise.html  Jaspersoft  15