Cannot store example set --> too many columns
Hallo Community,
I have run into a technical issue on Rapidminer Server for which I can't find a solution.
After running a process on the RM server, I would like to store the example set in the server repository. However, I get the following error message:
Reason: Cannot store example set in database as es_13: java.sql.SQLException: Too many columns.
The example set I am trying to store has 1 row (i.e. 1 example) and 1519 attributes, of which all but one are numerical (mostly integers). I have no issues running the exact same process in RM Studio on my local machine and storing example sets with even more columns and rows on there.
I understand that I am somehow hitting the hard limit in terms of column number on the database, but I don't really know why, as data volume and types of the process should not cause these kind of issues.
The question is: is there anything I can do in terms of configuration so that this problem goes away without going through the trouble of spliting my process output?
Thank you very much for any hints in the right direction!
Best Answer
-
homburg Employee-RapidMiner, Member Posts: 114 RM Data Scientist
Hi FBT,
the reason for this issue is that RapidMiner Server tries to write row data with up to 20,000 bytes as a default. For some databases this limit may be slightly too high, especially when many columns with compact representation need to be written. In this case please modify default setting by addding com.rapidanalytics.db.max_rowlength parameter to your server configuration and reduce its value to i.e. 15K or 10K. Please do not use tiny values since for every row exceeding this limit an additional table is created, very small values therefor cause huge overhead during writing operations.
The section 'Modifying system settings' of our server administration guide shows how to apply parameters. It also holds a table describing advanced server parameters and their corresponding default values.
Cheers,
Helge
2
Answers
Thank you so much! This was exactly the kind of answer I was hoping for and it solved my issue.