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
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:
-
Try to uninstall the Kaspersky components Anti-Dialer and Anti-Spam as proposed in this forum thread, or
-
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 them?
-
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.
-
Is it possible to include data files in the workflow so that the, e.g. File Reader is immediately executable on a different system, where the source file is not available?
-
Yes. This feature was added in KNIME v2.2.0 and is available in the expert mode. You will need to physically copy the file into a dedicated "drop" directory in the node folder (part of the workflow). KNIME will index this folder and make all files in this "drop" folder available as node-local flow variables in URL syntax. Here are the steps:
-
Create a workflow containing a file reader (or SDF reader or whatever you like to use) and point the reader to the file you want to read.
-
Save the workflow.
-
Use your system file browser and go into the corresponding workflow directory, e.g. <workspace>/KNIME_Project/File Reader (#1)/.
-
Create a folder "drop" in this directory and copy the target file here.
-
Switch back to KNIME and make sure that the node configures at least once (e.g. if the node was executed, reset it, or if the node was configured, open the dialog and close the dialog by pressing ok).
-
Open the dialog of the node, switch to the "Flow Variables" tab and choose the variable representing the drop file (e.g. "knime.node (drop) <file url>) in the corresponding combo box.
The file is now part of the workflow and will be included in the exported workflow unless you explicitly choose to exclude the data from the workflow.
-
-
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. Under Linux Mozilla XULRunner is used. Usually xulrunner is present if the Firefox web-browser is installed. This error message can have two causes:
-
Some recent Linux distributions (e.g. Ubuntu 11.10 or Fedora 16) ship with an incompatible version of XULRunner (Eclipse only support versions 1.8 and 1.9). If KNIME detects an incompatible version it will disable it altogether because otherwise KNIME may crash. Since the distributions do not offer offical packages for older version of XULRunner, the KNIME Update Site contains a feature called KNIME XULRunner binaries for Linux. If installed, KNIME will use this local XULRunner if no compatible version exists in the system. In order to install this feature you must disable the "Group items by category" option in the installation dialog and search for the feature.
-
Some distributions require the installation of a separate package, e.g.
mozilla-xulrunner (OpenSuSE) or simply xulrunner (e.g. Fedora). 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 more 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 Mac the knime executable is not directly located in the KNIME application directory but in the knime.app/Contents/MacOS/ subfolder. Besides this the command line usage is the same as in Linux. If you have copied KNIME, for example, into your /Application directory it can be invoked like this:
/Applications/knime/knime.app/Contents/MacOS/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
-
Install the libXP package, by e.g.
yum -y install libXp.
-
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.
-
I'd like to enable KNIME's expert mode on the Mac but can't see the knime.ini. Where is it located?
-
The Mac version of KNIME has a different directory structure than the other versions. On the Mac the contents of an application are hidden from the user by default. To edit the knime.ini you have to navigate to your KNIME installation directory, right click on "knime.app" and choose "Show Package Contents". This will open another finder window where you will find the knime.ini under "Contents" -> "MacOS". By the way this is also the location where the knime executable is located if you want to launch KNIME from the terminal.
-
How do I connect to my Microsoft Access database?
-
Two setups without registering additional JDBC-driver are possible, (1) directly connect to the MS Access database using KNIME, or (2) register a database source in the system configuration. In the first case, one needs to enter the database URL as jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\database.accdb within the Database Reader/Connector node dialog. In the second, the database needs to be registered with the system properties under adminstration (JDBC/ODBC sources). In KNIME, the identifier can diretly be used in KNIME to connect to the specified database, for example jdbc:odbc:DATABASE_ID.
-
Menu doesn't appear on Ubuntu with Unity desktop
-
This problem appears to be an official Eclipse bug reported under id: 330563. The workaround reads as export UBUNTU_MENUPROXY=0 adding this before the application, KNIME, is launched.
-
KNIME problems with Java 1.6.0_29 on Mac
-
At first: If you did not install "Java for Mac OS X 10.7 Update 1" or the "Java for Mac OS X 10.6 Update" containing Java 1.6.0_29 , you are fine. If you did install it already, this manual shows you how to start KNIME with Java 1.6.0_26.
-
In your (hopefully existing) backup of your system there is a folder "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk". This folder contains the necessary jdk. Copy it to anywhere on your hard disk (e.g. into the KNIME installation directory).
-
Download the attached knime.sh script and extract it into your KNIME installation directory (e.g. /Applications/knime).
-
Create a soft link named "jre" in your KNIME installation directory linking to the subdirectory "Contents/Home" of your copied JDK by invoking
ln -s <1.6.0.jdk-DIR>/Contents/Home jre
in the Terminal and launch KNIME by invoking
./knime.sh
Please see the discussion in the forum for more details.