Productionizing H2O

(Note: This section is new and a work in progress...)

Example Design Patterns

Here is a collection of example design patterns for how to productionize H2O.

Consumer loan application

Characteristic Value
Pattern name Jetty servlet
Example training language R
Example training data source CSV file
Example scoring data source User input to Javascript application running in browser
Scoring environment REST API service provided by Jetty servlet
Scoring engine H2O POJO
Scoring latency SLA Real-time
Resource Location
Git repos https://github.com/h2oai/app-consumer-loan
Slides http://docs.h2o.ai/h2o-tutorials/latest-stable/tutorials/building-a-smarter-application/index.html
Videos http://library.fora.tv/2015/11/09/building_a_smart_application_hands_on_tom

Craigslist application

Characteristic Value
Pattern name Sparkling water streaming
Example training language Scala
Example training data source CSV file
Example scoring data source User input to Javascript application running in browser
Scoring engine H2O cluster
Scoring latency SLA Real-time
Resource Location
Git repos https://github.com/h2oai/app-ask-craig
Blogs

http://blog.h2o.ai/2015/06/ask-craig-sparkling-water/

http://blog.h2o.ai/2015/07/ask-craig-sparkling-water-2/

Slides

http://www.slideshare.net/0xdata/sparkling-water-ask-craig

http://www.slideshare.net/0xdata/sparkling-water-applications-meetup-072115

Malicious domain application

Characteristic Value
Pattern name AWS Lambda
Example training language Python
Example training data source CSV file
Example scoring data source User input to Javascript application running in browser
Scoring environment AWS Lambda REST API endpoint
Scoring engine H2O POJO
Scoring latency SLA Real-time
Resource Location
Git repos https://github.com/h2oai/app-malicious-domains
Slides https://github.com/h2oai/h2o-meetups/tree/master/2016_05_03_H2O_Open_Tour_Chicago_Application
Videos http://library.fora.tv/2016/05/03/design_patterns_for_smart_applications_and_data_products

Storm bolt

Characteristic Value
Pattern name Storm bolt
Example training language R
Example training data source CSV file
Example scoring data source Storm spout
Scoring environment POJO embedded in a Storm bolt
Scoring engine H2O POJO
Scoring latency SLA Real-time
Resource Location
Git repos https://github.com/h2oai/h2o-tutorials/tree/master/tutorials/streaming/storm
Tutorials http://docs.h2o.ai/h2o-tutorials/latest-stable/tutorials/streaming/storm/index.html

Invoking POJO directly in R

Characteristic Value
Pattern name POJO in R
Example training language R
Example training data source (Need example)
Example scoring data source (Need example)
Scoring environment R
Scoring engine H2O POJO
Scoring latency SLA Batch

Hive UDF

Characteristic Value
Pattern name Hive UDF
Example training language R
Example training data source HDFS directory with hive part files output by a SELECT
Example scoring data source Hive
Scoring environment Hive SELECT query (parallel MapReduce) running UDF
Scoring engine H2O POJO
Scoring latency SLA Batch
Resource Location
Git repos https://github.com/h2oai/h2o-tutorials/tree/master/tutorials/hive_udf_template
Tutorials http://docs.h2o.ai/h2o-tutorials/latest-stable/tutorials/hive_udf_template/index.html

Steam Scoring Server from H2O.ai

Characteristic Value
Pattern name Steam
Scoring data source REST API client
Scoring environment Steam scoring server
Scoring engine H2O POJO
Scoring latency SLA Real-time
Resource Location
Web sites http://www.h2o.ai/steam/