我正在尝试从大约20,000列宽和700行深的现有csv文件创建数据库。在grails中,我希望20,000列域属于另一个更简单的域(大约200列)。但在编译后我得到:
java.lang.RuntimeException: Class file too large!
这是可以理解的,因为数据太多了。我的问题是,在grails中处理这个问题的最佳方法是什么?我应该简单地将大表分成不同的域吗?寻找不同的表格式?
我特别担心:
1)搜索时间,解析搜索方法,然后委托子域。
2)将巨大的csv文件中的数据导入域中。
答案 0 :(得分:8)
当您遇到像这样的JVM大小限制时,请将其作为一个很大的提示,表明您的方法已经过时了。正如我在本周早些时候的另一个问题中所提到的,我们甚至不知道这些限制是什么,更不用说接近它们了。
我认为使用像GORM这样的东西甚至O-O方法对这么多数据都没有太大的好处。它不是任何现实的,可用的意义上的对象 - 它是一大堆数据。即使它确实有效,你也需要以编程方式访问所有内容,因为手动管理代码将是疯狂的代码量。你真的打算创建这些野兽的一个或多个实例并将它们作为方法args传递吗?
您需要从大数据的角度来看待这一点,而不是从ORM的角度来看。