Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Weka API加载5M实例时出现问题_Java_Eclipse_Api_Heap_Weka - Fatal编程技术网

Java 使用Weka API加载5M实例时出现问题

Java 使用Weka API加载5M实例时出现问题,java,eclipse,api,heap,weka,Java,Eclipse,Api,Heap,Weka,我有一个数据库,大约有500万行。为了应用数据挖掘技术,我想使用wekaapi从eclipse中的Java程序将它们作为实例加载。但是,如果我尝试加载超过250万的内存,即使我在运行配置中增加了Eclipse的堆内存(使用-Xmx2048M),也会出现堆溢出。我的电脑有4GB内存,如果我使用更多内存,就会卡住。无论如何,加载250万需要花费太多时间 我想把它们分成分数,但我认为这不是最好的办法 提前谢谢 你可以做一件事: 转到程序文件“\program files(x86)\Weka-3-6”,

我有一个数据库,大约有500万行。为了应用数据挖掘技术,我想使用wekaapi从eclipse中的Java程序将它们作为实例加载。但是,如果我尝试加载超过250万的内存,即使我在运行配置中增加了Eclipse的堆内存(使用-Xmx2048M),也会出现堆溢出。我的电脑有4GB内存,如果我使用更多内存,就会卡住。无论如何,加载250万需要花费太多时间

我想把它们分成分数,但我认为这不是最好的办法

提前谢谢

你可以做一件事:

转到程序文件“\program files(x86)\Weka-3-6”,然后运行Weka.ini。在记事本中打开它,并将文件中间的行“强”>“最大堆=512m”< /强>变为<强> >“最大堆=2000米”< /强>

< p>我不知道Weka API,但是如果需要从关系数据库中把大量数据加载到内存中,最好使用它。如果您使用JDBC,您应该使用。

您好。谢谢你的回答。我在任何地方都找不到那个文件。尽管如此,我不认为这个问题可以通过提供更多内存来解决,因为正如我所说的,我使用参数为执行提供了我所能提供的所有内存,但仍然会导致溢出。我一直在寻找实现游标和可滚动结果集的选项。我将尝试使用可滚动的结果集,因为我使用的是JDBC。不管怎样,这使得获得实例变得更加困难。我必须一行一行地获取这些行,并将它们动态转换为实例。我实现了一个可滚动的结果集,它可以对数据库进行查询。但是,由于我需要转换Weka实例中的每一行,所以在转换整个结果集之前,我会得到OutOfMemoryError。知道了这一点,我们似乎必须改变数据挖掘程序的设计,以便进行更小的查询。