what’s cooking in knime · rest example: live-scoring on server (i) •get expected parameter...

49
Copyright © 2015 KNIME.com AG What’s Cooking in KNIME Thomas Gabriel

Upload: others

Post on 30-Apr-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Copyright © 2015 KNIME.com AG

What’s Cooking in KNIME

Thomas Gabriel

Copyright © 2015 KNIME.com AG 2

Agenda

• Querying NoSQL Databases

• Database Improvements & Big Data

Copyright © 2015 KNIME.com AG 3

Querying NoSQL DatabasesMongoDB & CouchDB

- Alexander Fillbrunn -

Copyright © 2015 KNIME.com AG 4

Database Improvements and Big Data

- Tobias Koetter -

Copyright © 2015 KNIME.com AG 5

Database Improvements

Copyright © 2015 KNIME.com AG 6

Database – New Nodes

• Database Create Table

– Define constraints e.g. primary and unique keys

– Indexing options

• Database Column Rename

• Database Pivoting

• More connectors

– SAP Hana

– ...

6

Copyright © 2015 KNIME.com AG 7

Database – Framework Improvements

• Connection handling

– Connection pool (more speed)

– Dedicated connections (more control)

• Improved sql editors

– Syntax highlighting

– Code completion

Copyright © 2015 KNIME.com AG 8

Big Data

Copyright © 2015 KNIME.com AG 9

Machine Learning on Hadoop

• Based on Spark MLlib

• Scalable machine learning library

• Runs on Hadoop

• Algorithms for

– Classification (decision tree, naïve bayes, …)

– Regression (logistic regression, linear regression, …)

– Clustering (k-means)

– Collaborative filtering (ALS)

– Dimensionality reduction (SVD, PCA)

9

Copyright © 2015 KNIME.com AG 10

• Learn node for each algorithm

• Hive tables as input format

• MLlib model ports for model transfer

MLlib Integration

MLlib model port

Copyright © 2015 KNIME.com AG 11

• MLlib nodes start and manage Spark jobs

MLlib Integration

Copyright © 2015 KNIME.com AG 12

MLlib Integration

Copyright © 2015 KNIME.com AG 13

• One predictor for all MLlib models

• Usage model and dialogs similar to existing KNIME mining nodes

MLlib Integration

Copyright © 2015 KNIME.com AG 14

MLlib Integration

Copyright © 2015 KNIME.com AG 15

• Hive tables as input/output format

• Data stays within your HDFS file system

• No unnecessary data movements

MLlib Integration

Copyright © 2015 KNIME.com AG 16

• Converts supported MLlib models to PMML

• Learning at scale on Hadoop

• Prediction with speed based on compiled models

– Can be combined with the new REST API

MLlib to KNIME

Copyright © 2015 KNIME.com AG 17

KNIME to MLlib

• Prediction at scale on Hadoop

• Compatible with KNIME models and pre-processing steps

Copyright © 2015 KNIME.com AG 18

Mix and Match

• Use all the KNIME nodes on your big data samples

Copyright © 2015 KNIME.com AG 19

Closing the Loop

Apply model

Learn model Apply model

Learn model

PMML model MLlib model

Copyright © 2015 KNIME.com AG 20

Agenda

• Querying NoSQL Databases

• Database Improvements & Big Data

• New KNIME Server

• Wizard Execution

• Workflow Diff

Copyright © 2015 KNIME.com AG 21

New KNIME Server

REST Interface WebPortal Templates

New Server

Copyright © 2015 KNIME.com AG 22

New KNIME ServerWebPortal Templates & REST Interface

- Thorsten Meinl -

Copyright © 2015 KNIME.com AG 23

Glassfish

Tomcat

Copyright © 2015 KNIME.com AG 24

Why TomEE?

24

• Apache TomEE is based on Apache Tomcat– Much higher adoption than Glassfish

– Additional libraries to support EJB

• Communication solely via HTTP– No more firewall problems

– Encryption via HTTPS

• Installation and deployment considerably easier

• Better user and group management

• Simultaneous connection to multiple servers

• KNIME Server 4.0 available after the UGM

Copyright © 2015 KNIME.com AG 25

WebPortal Templates (I)

Copyright © 2015 KNIME.com AG 26

WebPortal Templates (II)

Copyright © 2015 KNIME.com AG 27

WebPortal Templates (III)

Copyright © 2015 KNIME.com AG 28

WebPortal Templates (IV)

Copyright © 2015 KNIME.com AG 29

WebPortal Templates (V)

• Layout can be configured by templates

– Footer & header

– Main panel

– Login page

– …

• Custom stylesheet

• Custom JavaScript libraries

– Can be re-used in JS-based views

Copyright © 2015 KNIME.com AG 30

WebPortal Templates (VI)

• Templates are part of the configuration and are not overridden by updates

Copyright © 2015 KNIME.com AG 31

REST Interface

• Main addition to KNIME Server 4.1

• REST = Representational State Transfer

– Communication based on HTTP

– Usually clear text

• Many possible clients

– Web browser

– Java applications (e.g. via JAX-RS)

– KREST nodes :-)

• Goal: complete server interface based on REST

31

Copyright © 2015 KNIME.com AG 32

REST Example: List Workflows (I)

• Via browser

– http://localhost:8080/com.knime.enterprise.server/rest/v4/repository/list

– Requires user authentication

Copyright © 2015 KNIME.com AG 33

REST Example: List Workflows (II)

• Via KNIME and KREST nodes

Copyright © 2015 KNIME.com AG 34

REST Example: Execute Workflow (I)

• Via browser– Load workflow

• http://localhost:8080/com.knime.enterprise.server/rest/v4/jobs/load/UGM 2015/REST Demo/Report

• Returns unique job ID

– Execute job• http://localhost:8080/com.knime.enterprise.server/rest/v4

/jobs/syncExec/24a76fec-a74e-45ba-b03f-cabf528b6a69

• Returns final status

– Render report• http://localhost:8080/com.knime.enterprise.server/rest/v4

/jobs/renderReport/24a76fec-a74e-45ba-b03f-cabf528b6a69/PDF

• Format can be specified in request

Copyright © 2015 KNIME.com AG 35

REST Example: Execute Workflow (II)

• Via KNIME and KREST nodes

Copyright © 2015 KNIME.com AG 36

REST Example: Live-Scoring on server (I)

• Get expected parameter format from workflow

• Set input parameters in input quickform nodes

• Execute workflow

• Get results from quickform output nodes

Scoring workflow, called via REST

Copyright © 2015 KNIME.com AG 37

REST Example: Live-Scoring on server (II)

• Get expected parameter format from workflow

• Set input parameters in input quickform nodes

• Execute workflow

• Get results from quickform output nodes

Copyright © 2015 KNIME.com AG 38

REST Example: Live Scoring on server (III)

• Via Call Remote Workflow node

– Analyzes input parameters

– Prepare input data accordingly

– Executes job and gets back results

Copyright © 2015 KNIME.com AG 39

New KNIME Server

Wizard Execution

REST Interface

Workflow Diff

WebPortal Templates

New Server

Copyright © 2015 KNIME.com AG 40

Workflow Diff – Simple Example I

Copyright © 2015 KNIME.com AG 41

Workflow Diff – Simple Example II

Copyright © 2015 KNIME.com AG 42

Workflow Diff – Extended Example

Copyright © 2015 KNIME.com AG 43

Workflow Diff – Filtering

Copyright © 2015 KNIME.com AG 44

Wizard Execution I

• New Set of JavaScript-based interactive Views and QuickForm Nodes

Copyright © 2015 KNIME.com AG 45

Wizard Execution II

Copyright © 2015 KNIME.com AG 46

Wizard Execution III

Input Variables

Output Variables

Copyright © 2015 KNIME.com AG 47

Wizard Execution IV

Copyright © 2015 KNIME.com AG 48

Wizard Execution IV

Copyright © 2015 KNIME.com AG 49

What’s Cooking?

12:30-13:30 It’s lunchtime