具有大型数据集的DC和crossfilter

时间:2014-06-26 16:10:38

标签: javascript dataset dc.js crossfilter

我一直在研究dc和crossfilter js,我目前有一个包含550,000行和大小为60mb csv的大型数据集,并且面临很多问题,如浏览器崩溃等等。

所以,我试图了解dc和crossfilter如何处理大型数据集。 http://dc-js.github.io/dc.js/

主站点上的示例运行非常顺畅,在看到时间轴 - >内存(在控制台中)后,最大值为34 mb,并随着时间慢慢减少

当我的项目加载一个json文件并呈现整个可视化时,每个下拉选择占用的内存范围为300-500mb

所以,2个问题

  • dc网站示例的后端是什么?是否有可能找到确切的后端文件?
  • 如何从我的应用程序中减少RAM上的数据过载,该应用程序运行速度非常慢并最终崩溃?

1 个答案:

答案 0 :(得分:2)

您好,您可以尝试运行加载数据,并在服务器上过滤它。当我的数据集的大小太大而浏览器无法处理时,我遇到了类似的问题。 几个星期前我发布了一个问题来实现相同的问题。 Using dc.js on the clientside with crossfilter on the server

以下是关于此事的概述。

在客户端,您需要创建具有dc.js期望的基本功能的假维度和假组(https://github.com/dc-js/dc.js/wiki/FAQ#filter-the-data-before-its-charted)。您可以在客户端创建dc.js图表​​,并在需要时插入假维度和组。

现在,在服务器端,您运行了crossfilter(https://www.npmjs.org/package/crossfilter)。您可以在此处创建实际尺寸和组。

fakedimensions具有.filter()函数,它基本上向服务器发送ajax请求以执行实际过滤。过滤信息可以以查询字符串的形式编码。您还需要在假组上使用.all()函数来返回过滤结果。