使用d3.js加载大型csv文件时出现Grails错误

时间:2016-01-02 00:35:08

标签: javascript csv grails d3.js

我在Grails中使用d3.js。我有一个叫做vis的观点。在脚本部分,我打电话给:

<body>
   <script>
       ...
       d3.csv("data", function(error, data) {
           if (error) throw error;           
            ...
       }
   </script>
</body>

在我的UrlMappings中,我有:

"/vis/data"(view:'/vis/data.csv')

当页面加载时,我收到以下错误:

Class: java.lang.OutOfMemoryError
Message: Error mapping onto view [/vis/data.csv]: Java heap space
Caused by: Java heap space

我的csv文件有230MB。

在Grails中调用d3库的正确方法是什么?我想将我的csv文件放在conf / data文件夹中。

修改

我需要在客户端加载文件,我相信Large file download using grails

中的问题不一样

我知道大文件需要部分阅读,但我怎样才能在客户端实现这一目标?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您的错误与以下SO非常相似: Large file download using grails

基本上,避免将整个csv文件加载到内存中。 Grails有文件助手。由于您的CSV文件位于文件系统上,因此应该可以使用。如果要转换数据,可能需要对创建缓冲区,迭代数据等进行一些研究......