Knime太慢了 - 表现

问题描述 投票:0回答:3

我刚刚开始使用KNIME,它假设管理了大量数据,但事实并非如此,它很慢并且通常没有响应。我将管理的数据超过我现在使用的数据,我做错了什么?我在配置文件“knime.ini”中设置:

-XX:MaxPermSize=1024m
-Xmx2048m

我还从数据库节点(数百万行)读取数据,但我无法通过SQL限制它(我真的不介意,我需要这些数据)。

SELECT * FROM foo LIMIT 1000

错误:

WARN     Database Reader     com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0' at line 1
bigdata knime
3个回答
1
投票

请参阅http://tech.knime.org/forum/knime-users/knime-performance-reading-from-a-database,了解其余的讨论和解决方案......


1
投票

我有同样的问题......并且能够真正解决它,KNIME有一个KNIME.ini文件,这个就像KNIME用来执行的参数...

真正的问题是JBDC驱动程序设置为10 Fetch Size。默认情况下,当Oracle JDBC运行查询时,它会从数据库游标中一次检索10行的结果集。这是默认的Oracle行获取大小值...因此,无论何时读取数据库,都会有很大的痛苦等待检索所有行。

修复很简单,转到安装KNIME的文件夹,查找文件KNIME.ini,打开它然后将下面的句子添加到底部,它将覆盖默认的JBDC提取,然后你将获得数据几秒钟。

-Dknime.database.fetchsize = 50000 -Dknime.url.timeout = 9000

希望这会有所帮助:slight_smile:


0
投票

我不确定您的问题是关于性能问题还是SQL问题。

对于前者,我遇到了同样的问题,并且在我开始搜索Eclipse性能修复而不是KNIME性能修复时才找到了解决方案。确实,增加Java堆大小是一件好事,但是我的性能问题(也许是你的)是由保存的工作空间元数据中发生的不良事件引起的。解决方案:删除knime / workspace / .metadata目录的内容。

至于后者,不确定为什么你会得到那个错误;也许尝试在SQL语句的末尾添加分号。

© www.soinside.com 2019 - 2024. All rights reserved.