Forum & Documentation

User login

FAQ

This is only a small selection of possible FAQs. If you have a question that is not answered in the FAQ section, or the quickstart guide don't hesitate to contact us via email and we will try to answer your question and expand our FAQ section.

Please note that the following FAQs concentrate on KNIME usage. If you are developing your own node, please refer to the Developer FAQs.

What is KNIME, what does KNIME stand for and who has developed KNIME?
KNIME stands for KoNstanz Information MinEr and is pronounced: [naim] (that is, with a silent "k", just as in "knife"). It is developed by KNIME.com GmbH located in Zurich and the group of Michael Berthold at the University of Konstanz, Chair for Bioinformatics and Information Mining. Why is it called "KNIME"? Well, "Konstanz Information Miner" used to be called "Hades" (as the pub some of its creators ended up going to often). But that raised lots of not so nice questions ("so this is where your data ends up when it's not useful anymore?") so we looked for another name. "KIM", the obvious choice was, of course, already taken. However, the Konstanz license plate symbol is "KN", so KNIM was our next choice. Adding a vowel at the end was suggested by a native speaker to "round it off", as he put it. And it appears in "Miner" so we felt ok about it. Plus URLs such as "knime.org", "knime.de", ... were still available at that time...
How to cite KNIME?
The recommended way to cite KNIME is to cite the paper Knime: The Konstanz Information Miner with the following BibTeX:

@INPROCEEDINGS{BCDG+07,
author = {Michael R. Berthold and Nicolas Cebron and Fabian Dill and Thomas R. Gabriel and
Tobias K\"{o}tter and Thorsten Meinl and Peter Ohl and Christoph Sieb and Kilian Thiel and
Bernd Wiswedel},
title = {{KNIME}: The {K}onstanz {I}nformation {M}iner},
booktitle = {Studies in Classification, Data Analysis, and Knowledge Organization (GfKL 2007)},
publisher = {Springer},
ISBN = {978-3-540-78239-1},
ISSN = {1431-8814},
year = {2007}
}

Can I modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part?
You may do all this in accordance to the license only. KNIME is available under a dual licensing model. A version under an open source license is available for download from this website. If you need other license terms, please contact us. Please refer to the license for more information about the terms of the open source license.
How much data can I process with KNIME?
Basically, there are no limits, since the data is buffered in an intelligent way. Nevertheless, some algorithms may require too much time and memory for very huge datasets.
I'm getting errors like java.lang.OutOfMemoryError: PermGenSpace. What is wrong?
This is a known bug in Sun's Java, which occurs if a lot of classes are loaded. This sometimes occurs in KNIME/Eclipse if you have a lot of, or huge plugins. A workaround is to pass the option -XX:MaxPermSize=128m to the Java command. The KNIME product is already using this setting by default. You can also try another Java implementation, such as those from IBM or BEA.
See also Eclipse's and Sun's bug reports.
How can I increase the Java Heap Space for KNIME?
In the KNIME installation directory there is a file called knime.ini (under linux it might be .knime.ini). Open the file, find the entry -Xmx512m and change it to -Xmx1024m for example. You may also consider to change the -XX:MaxPermSize=128m option and increase it to 256m or even 512m, depending on your computer's main memory. Note, that you main memory must be at the very least the sum of both values. (See also the answer for rarely observed problems while increasing heap space under Windows).

If you use the developer version you have to edit the run configuration:
"Run -> "Open Run Dialog..." -> tab "Arguments" -> field VM arguments -> enter -Xmx1024M.

I cannot start KNIME on Windows, I do not even see a splash screen? How do I make it work?
If you do not even see the KNIME splash screen the system fails to create the Java VM. We observed this problem on a few computer systems. It seems that the anti-virus software Kaspersky prohibits the Java VM to allocate enough memory (http://forum.kaspersky.com/index.php?showtopic=73177). Thus, there are two workarounds:
  1. Try to uninstall the Kaspersky components Anti-Dialer and Anti-Spam as proposed in this forum thread, or
  2. open the knime.ini file in the installation directory and enter smaller values for the Xmx and the XX:MaxPermSize options.
I extracted the UpdateSite.zip (or parts of it) into the KNIME installation folder, but the new nodes do not appear in the Node repository.
With Eclipse 3.4 the mechanism how features/plugins are managed has drastically changed (the magic keyword is "p2"). One of the major implication for users is, that they cannot install new features/plugins (i.e. nodes) by just copying the plugins and/or features into the corresponding directories of the Eclipse/KNIME installation. Instead, they must be installed via the Update Manager. One workaround for plugins for which there exists no feature is the dropins folder that Eclipse scans upon each startup. But please use this only if anything else fails! The recommended way is using the Update Manager with the KNIME Update Site or the zipped version of it.
KNIME v2.0 is supposed to support workflow loops and flow variables? What are they and how do I use rhem?
Loops and variables are new features in v2.0. We have disabled them by default because they are still in the beta stage (though they should be fully functional). You can enable these features by adding a new line to the 'knime.ini' file (or 'eclipse.ini' if you're running the SDK version) located in the KNIME installation directory:
  -Dknime.expert.mode=true

After restarting KNIME you will find a new top-level category "Loop Support" and a few new nodes in the "Meta" category. You will also notice that each node dialog has a new tab "Flow Variables", which allows you to overwrite individual settings of a node using flow variables. A full description of these new features does not yet exist but will be published shortly.

The Node Description window doesn’t work on Linux; it displays the error "System browser cannot be initialized. No node description will be displayed."
KNIME uses the SWT browser widget to display HTML content. This widget requires a proper web browser to be installed. For instance, on SuSE Linux 10.1 this library is available through the package mozilla-xulrunner or on Fedora 9 through xulrunner. After installation, KNIME should pick the xulrunner upon restart. If that does not work for any reason, you may want to try to add a line to the the knime.ini file contained in the KNIME directory. This line should read as:
-Dorg.eclipse.swt.browser.XULRunnerPath=<location_to_xulrunner>

For details on web browser requirements, see the SWT FAQ.

When copying Meta nodes such as Cross Validation or Meta Nodes x:x the inner nodes are not copied.
This is a known issue for all meta nodes in KNIME 1.3.5 and before. These KNIME versions do not copy the internal workflow of metanodes because of potential index conflicts. A workaround is to create a new meta node of the same type and subsequently copy the internals of the meta node separately. This problem is fixed as of 2.0.
Is there any way to run KNIME in batch mode, i.e. only on command line and without the graphical user interface?
There is a (experimental(!) and therefore undocumented) command line option allowing the user to run KNIME 1.2.1 in batch mode. To see a list of possible arguments execute the following line on a command prompt (for Linux):

knime -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION

On a Windows system, you need to add two more options to enable system messages (by default any message to System.out is suppressed):

knime.exe -consoleLog -noexit -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION

The -consoleLog option causes a new window to be opened containing the log messages and -noexit will keep the window open after the execution has finished - you will need to close the window manually, and, unfortunately, an error message is produced from the Java process, which, however, you can safely ignore. (If you happen to find out how this procedure can be avoided or simplified, please let us know.) Windows users: please remember to add these two options to the command line examples below in order to see KNIME's output messages.

In order to run a (pre-configured) workflow, say Knime_project, contained in the workspace directory, execute (in one line)

knime -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION
-workflowDir="workspace/Knime_project"

It's also possible to change the configuration options of individual nodes contained in the workflow. This becomes handy if you, for instance want to change the URL of the file that the file reader node reads from. You will need to find out what the ID of the target node is as well as the name and type of the option you wish to change. To do so browse the project directory (for instance workspace/KNIME_project) and find the configuration directory of the target node (e.g. "File Reader (#4)", whereby 4 is the ID of the node). Open the file settings.xml (since KNIME v2.0.0 it is node.xml) and look for the xml element "model" (all elements nested in "model" can be changed). The individual options should be more or less self-explanatory, in this example we would look for the option "DataURL", which contains a string value. The command line subsequently looks as follows:

knime -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION
-workflowDir="workspace/KNIME_project"
-option=4,DataURL,"file:/home/wiswedel/benchmarks/iris/data.tst",String

The workspace is empty how do I create a new project?
In the Navigator view (left top window) right-click and select "New", then "New KNIME Project". Provide a name for this new project and click the OK button.
The Node Repository shows only a few nodes (or none at all) - is that all?!?
Did you enter anything in the search field of the Node Repository view? Click into the edit field at the top of that view and press ESC. This should return all nodes included in the installation. If this doesn't help, your installation might be corrupt.
Under Linux I cannot see the table in the output port view, the window shows only blank content. What is wrong here?
This is very likely a problem with the Compiz OpenGL window manager (Bug report at Sun). Other effects may be empty sub-dialogs, e.g. in the File Reader. You have to switch off Compiz in this case. Another workaround has been posted here, but
we haven't tested it ourselves. For the Non-Germans you have to
  1. Install the libXP package, by e.g. yum -y install libXp.
  2. Add export AWT_TOOLKIT=MToolkit to your ~/.bashrc (or whatever
    file your shell executes upon startup).
I am running Fedora 10 using the Gnome window manager. The KNIME main application works as expected but as soon as I open a view or a dialog, this panel does not get repainted. Why?
That seems to be a java swing / swt problem. It seems as if the libgxim package causes this problem, i.e. if you uninstall that package (and all its dependencies) the panel will get properly painted.
How can I force KNIME to cache any intermediate data to disk in order to reduce memory usage?

The framework has no absolute control on memory usage of individual nodes, though it can control the amount of data in each node's output that is to be kept in main memory. This memory policy can be controlled in a node's dialog in the tab "General Node Settings". There are three different policies available: The first one ("Keep all in memory") enforces KNIME to leave all data that is generated by the respective node in main memory, the second option ("Write tables to disc") writes all data to disk immediately, the third one ("Keep only small tables in memory") is a heuristic to automatically switch between the first two items depending on the data size. Each of these options has pros and cons, e.g. keeping all data in memory allows for fast iterations on this data but increases memory usage.

The "Keep only small tables in memory" option is the default and of special interest. It uses a threshold value for the number of cells contained in a table (i.e. row count multiplied by column count) to decide whether to keep data in memory or on disk. This threshold defaults to 100 000 cells. If that is inappropriate in your setup (for instance because your cells tend to be large strings), you can change the default. This can be done using a java property that is passed either as command line argument or as part of the knime.ini file that is located in the installation directory. (Note: changing the configuration file is preferred over the additional command line argument since any command line argument instructs knime (more precisely the underlying eclipse) to ignore all entries in the configuration file).

Add the following line after the -vmargs line in the knime.ini file to keep at most 1000 cells in memory (you can choose a different value, even 0 in which case it always swaps to disk):
  -Dorg.knime.container.cellsinmemory=1000
You can verify if this setting has been picked up by either looking at the log file or inspecting the tooltip that is shown when hovering over the "Keep only small tables in memory" option in any node.

I am getting an OutOfMemoryError when reading from a database using the Database Reader or Database Connection Reader node. What can I do?

For some databases KNIME fails to read huge amounts of data from them. Increasing the heap space inside the knime.ini (Xmx) sometimes solves the problem, but does not really solve the memory issues which is caused by a parameter called database "fetch size". Generally different databases use different fetch sizes, see for details. This parameter can be changed for KNIME by appending the following option to the knime.ini file: -Dknime.database.fetchsize=1000, for an example. With this option, the database nodes only fetch the given number of rows into the database ResultSet. We also recommend using the Database Connector together with the Database Row or Column Filter nodes or Database Query node to make the filtering inside the database and only read the desired data into KNIME at the end using the Database Connection Reader node.