Csv 具有巨大表格的Grails应用程序

Csv 具有巨大表格的Grails应用程序,csv,grails,bigdata,Csv,Grails,Bigdata,我正在尝试从现有的csv文件创建一个数据库,这些文件大约有20000列宽,700行深。在grails中,我希望20000列域属于另一个更简单的域(大约200列)。但经过编辑,我得到: java.lang.RuntimeException: Class file too large! 这是可以理解的,因为数据太多了。我的问题是,在grails中处理这个问题的最佳方法是什么?我是否应该简单地将大表分解为不同的域?寻找不同的表格格式 我特别担心: 1) 搜索时间,解析搜索方法,然后将其委托给子域 2

我正在尝试从现有的csv文件创建一个数据库,这些文件大约有20000列宽,700行深。在grails中,我希望20000列域属于另一个更简单的域(大约200列)。但经过编辑,我得到:

java.lang.RuntimeException: Class file too large!
这是可以理解的,因为数据太多了。我的问题是,在grails中处理这个问题的最佳方法是什么?我是否应该简单地将大表分解为不同的域?寻找不同的表格格式

我特别担心:

1) 搜索时间,解析搜索方法,然后将其委托给子域


2) 将数据从巨大的csv文件导入域。

当您遇到这样的JVM大小限制时,请将其视为一个重大提示,表明您的方法已经过时。正如我在本周早些时候的另一个问题中提到的,我们甚至不应该知道这些限制是什么,更不用说接近这些限制了

我不认为使用GORM或O-O方法来处理这么多数据有什么好处。它不是一个现实的、可用的对象——它是大量的数据。不管怎样,您都需要以编程方式访问所有内容,即使它确实有效,因为手动管理这些内容的代码将是大量的代码。您真的打算创建这些野兽的一个或多个实例并将它们作为方法args传递吗


您需要从大数据的角度而不是ORM的角度来看待这个问题。

RuntimeException是来自一个具有20000个持久属性、200个持久属性或其他属性的域类吗?它是在我向一个域添加了20000个持久属性之后,在我尝试运行grails run应用程序时出现的。但我认为它甚至还没有达到grails问题的程度,因为它太大了,所以无法编译。stacktrace类似于这个问题:您是否有一个脚本或其他东西为具有20000个属性的域类生成源代码,或者手动定义所有这些属性。必须从csv文件中提取列名,然后添加类型…太糟糕了:)你从哪一年开始提取列名?嗯,好的,我明白了。那么,如果我重新排列我的域文件,使列名成为具有某个值的通用属性(我要指定的原始类型),然后使用id+fk对它们进行排序,会怎么样?这样行吗?基本上使域WAAYY变小,最终得到20000*600行?顺便说一句,让伯特·贝克维思回答一个问题真是太棒了:)接下来要问的问题太多了,这些问题会把这个问题带到讨论中,但这不是为这个设计的。它最擅长解决重点问题,并提供一个或多个可能的重点答案。您需要考虑数据的结构、如何使用数据以及研究工具。这在NoSQL数据库中可能更好,但是有很多选择。您还需要了解最近开发的工具,这些工具可以帮助您进行分析和数据管理。在这两种情况下,这些都不是容易的决定,您不需要锁定在一种方法中。