Is there a way to export or compile a KNIME workflow as a standalone Java application or JAR? I'd like to run the workflow on a platform where KNIME cannot be installed and/or as part of a larger program to simplify a complex but isolated piece of analytics. My options are many, but installing KNIME on the target platform is not one of them.
Asked
Active
Viewed 1,056 times
1
-
What is your target platform? As far as I can see from [the docs](https://docs.knime.com/2018-12/analytics_platform_installation_guide/index.html) KNIME doesn't need any 'installation' other than copying files, and a workflow can be [run in batch mode](https://www.knime.com/faq#q12) from a command line. – nekomatic Jun 25 '19 at 08:13
-
In order for the knime command to work (as per the link) the knime exe/shell script needs to be on the platform though. I'm working from Android and linux platforms but won't have the ability necessarily to download or install knime. – Dylan Knowles Jun 25 '19 at 08:23
-
I'm confused. How are you proposing to run something on your target if you can't copy any executable code to it? – nekomatic Jun 25 '19 at 08:26
-
If the workflow can be exported as a jar and a JVM is present then it can be run. The issue more broadly is thay I can't rely on being able to bundle the entire knime platform for my purposes. The details aren't critical here: I just need to know if exporting to a standalone JAR is possible. :) – Dylan Knowles Jun 25 '19 at 08:42
1 Answers
2
The only relevant reference I can find on the KNIME site is this ten-year-old(!) forum question. The only answer there links to this project which does seem to be active and says it is 'a KNIME extension that exports KNIME workflows to different workflow engines', though without digging into its code it's not clear what engines those are.
Other than that, I guess your options are:
- ask on the KNIME forum again
- since KNIME is open source and is based on Eclipse, look into the more general question of how to build and run a minimal standalone version of Eclipse - there seem to be some relevant-looking answers on here if you search, but I have no further knowledge on how to do it
- use scripting nodes in KNIME to develop a text language version of your workflow, verifying as you go that the output adequately matches the KNIME nodes at each step, and deploy the text language version to your target. If you need data mining methods you might want to look at the Weka integration nodes which you could then substitute with calls to Weka methods.

nekomatic
- 5,988
- 1
- 20
- 27