Can records be fetched from a DataTable by RowID

is it possible? I have read in the documentation that random access isnt provided. What could be other options in case if I want to process a big data file, and have to fetch records based on RowIds.

thanks in advance


Hi Bonny,

Are you developing a node or looking to extract Records by the RowId in a workflow?

Best regards,


Hi Jay,
I am developing my own node for doing some data transformation, where first I need to preprocess the data. For Preprocessing I am using Knime Nodes e.g. fileReader, columnCombiner, RowId. After these steps, I get a data structure which is a DataTable with RowID as key for each row, which can be iterated using RowIterator but not randomly accessed. I also had look at the API but couldnt find anything.

Is there any possibility to convert this dataTable into a HashTable or any other suitable data structure, where rows can directly be accessed by a RowID.


That’s something we don’t support on purpose in order to allow for KNIME
to process really large data tables - you’ll never know if the data you are
working on resides in memory completely.
If you wanted to keep a small(!) input table in memory to access it quickly
and randomly, you would need to do this yourself (and be very careful not
to run out of memory).

Sorry not to be more helpful. Can you tell us what you are trying to do with
this random access table?