javascript - 具有大型数据集的 DC 和交叉滤波器

标签 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 上的数据过载?

最佳答案

您好,您可以尝试运行加载数据,并在服务器上对其进行过滤。当我的数据集太大而浏览器无法处理时,我遇到了类似的问题。 几周前我发布了一个关于实现相同问题的问题。 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 图表,并在需要时插入虚假维度和组。

现在在服务器端你有交叉过滤器运行(https://www.npmjs.org/package/crossfilter)。您可以在此处创建实际维度和组。

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

关于javascript - 具有大型数据集的 DC 和交叉滤波器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24435439/

相关文章:

javascript - `if-in` 如何评估为真? (仅限 Chrome )

javascript - 浏览对象数组并删除对象

c# - 嵌套 XML 形式的数据集

javascript - dc.js - 水平条形图/行聊天,或旋转 d3.svg?

javascript - dc.js 时间格式错误

javascript高亮一个字符串

javascript - 单击事件和多个数据对象

c# - 我如何将数据集的表/对象列表发送到客户端应用程序?

web-scraping - 电影数据集在哪里下载?

dc.js - 为 dc.js 散点图分配颜色会干扰图表中的选择