问题标签 [bigdata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
12646 浏览

python - 对大文本数据进行排序

我有一个大文件(1 亿行制表符分隔值 - 大小约为 1.5GB)。根据其中一个字段对其进行排序的最快已知方法是什么?

我试过蜂巢。我想看看这是否可以使用 python 更快地完成。

0 投票
1 回答
2865 浏览

r - 大数据从 arules 包转换为“事务”

R 中的 arules 包使用“事务”类。因此,为了使用该功能apriori(),我需要转换我现有的数据。我有一个 2 列和大约 1.6 毫米行的矩阵,并尝试像这样转换数据:

其中 original_data 是我的数据矩阵。由于数据量大,我使用了最大的 AWS Amazon 机器,64gb RAM。过了一会儿我得到

结果向量超出了“AnswerType”中的向量长度限制

机器的内存使用率仍然“仅”为 60%。这是基于 R 的限制吗?除了使用采样之外,还有什么方法可以解决这个问题?当仅使用 1/4 的数据时,转换工作正常。

编辑:正如所指出的,其中一个变量是一个因素而不是性格。更改后的转换得到了快速和正确的处理。

0 投票
2 回答
1601 浏览

java - 在java中处理大型字符串列表

我有一个任务,我必须遍历数十亿行并检查每一个是否都是唯一的。PC 的 RAM 内存中不能容纳所有的行本身。此外,行数可能大于 Integer.MAX_VALUE。

我假设处理大量数据的最佳方法是将每个字符串的哈希码放入某种哈希表中。

所以,这是我的问题:

  1. 我应该用什么代替String.hashCode()?(返回值为int,但我可能需要long)
  2. 处理这种大小的列表的最快方式/框架是什么?我最需要的是能够快速检查列表是否包含元素
0 投票
3 回答
4000 浏览

sql - SQL:联接与非规范化(大量数据)

我知道,之前有人问过这个问题的变体。但我的情况可能有点不同:-)

所以,我正在建立一个跟踪事件的网站。每个事件都有 id 和 value。它也由具有 id、年龄、性别、城市、国家和等级的用户执行。(如果重要,这些属性都是整数)

我需要能够快速获得两个查询的答案:

  • 从具有特定个人资料的用户那里获取事件数量(例如,来自俄罗斯莫斯科的 18-25 岁的男性)
  • 从具有特定配置文件的用户那里获取事件值的总和(也可能是平均值) -

此外,数据是由多个客户生成的,而这些客户又可以有多个 source_id。

访问模式:数据将主要由收集器进程写入,但在查询时(不经常通过 web ui),它必须快速响应。

我希望有很多数据,当然不止一个表或单个服务器可以处理。

我正在考虑每天将事件分组在不同的表中(即“events_20111011”)。此外,我想在表名前加上客户 ID 和源 ID,以便数据被隔离并且可以很容易地丢弃(清除旧数据)并且相对容易移动(将负载分配到其他机器)。这样,每个这样的表都会有有限的行数,比如 10M 的顶部。

所以,问题是:如何处理用户的属性?

选项 1,规范化:将它们存储在单独的表中并从事件表中引用。

  • (pro) 不重复数据。
  • (con) 连接,这很昂贵(或者我听说过)。
  • (con) 这要求用户表和事件表在同一台服务器上

选项2,冗余:将用户属性存储在事件表中并对其进行索引。

  • (亲)更容易的负载平衡(自包含的表可以移动)
  • (专业版)更简单(更快?)的查询
  • (con) 大量磁盘空间和内存用于重复用户属性和相应的索引
0 投票
1 回答
1053 浏览

r - 包装 R 的绘图函数(或 ggplot2)以防止绘制大型数据集

与其问如何绘制大数据集,我想进行包装plot,以便生成大量绘图的代码在绘制大对象时不会受到打击。如何plot以非常简单的方式进行包装,以便保留其所有功能,但首先测试以确定传递的对象是否太大?

此代码适用于对 的非常普通的调用,但它缺少与(见下文)plot相同的通用性。plot

失败的示例:

是否有一些简单的包装方法plot可以检查要绘制的数据,同时仍然传递所有参数?如果没有,那怎么ggplot2办?我是一个机会均等的非策划者。(在数据集很大的情况下,我会使用hexbin、子采样、密度图等,但这不是这里的重点。)


注意 1:在测试想法时,我建议测试大小 > 100(或设置变量,例如myThreshold <- 1000),而不是与 > 1M 的大小相比 - 否则在缓慢绘图时会有很多痛苦。:)

0 投票
1 回答
289 浏览

bigdata - 用于存储 TB 时间戳数据的平台

我们有一个系统可以创建大量数据,最多 150 万条时间戳记录,大约每秒 24MB 或每天大约 2TB。

数据来自多个来源,具有多种格式,一个共同点是时间戳。

目前,我们将大约 5 天的数据保存在文件中,并拥有生成报告的内部软件。

我们正在考虑创建一个可以保存和查询多年数据的可扩展系统。

我们倾向于像 Nathan Marz 在How to beat the CAP theorem中所描述的那样,使用 Hadoop/ElephantDB 进行长期批量存储,使用 Storm/Cassandra 进行实时层。

我想知道社区是否可以指出任何替代方案或建议进一步阅读?

我们的数据主要按时间组织这一事实是否适用于特定类型的解决方案?

有没有更好的论坛来问这种问题?

谢谢

0 投票
1 回答
5638 浏览

c++ - C++ 缓冲文件读取

我想知道是否可以使用预定义的读取缓冲区大小来逐行读取大型文本文件(例如,std::getline 或 fgets),或者必须使用特殊的字节函数?

我的意思是通过 I/O 操作数优化读取非常大的文件(例如,一次从 HDD 读取 32 MB)。当然我可以手工缓冲读取,但我认为标准文件流有这种可能性。

0 投票
3 回答
146 浏览

java - Java 处理数十亿字节

我正在用Java创建一个压缩算法;要使用我的算法,我需要大量有关目标文件结构的信息。

收集数据后,我需要重新读取文件。 <-但我不想。

在重新读取文件时,我通过将文件的数据“转换”为一种相当特殊的格式,使其成为一个很好的压缩目标。然后我压缩它。

现在的问题是:

  1. 我不想打开一个新的 FileInputStream 来重新读取文件。
  2. 我不想将转换后的文件(通常是目标文件大小的 150%)保存到磁盘。

有什么方法可以“重置” FileInputStream 以移动到文件的开头,以及如何在不写入磁盘的情况下有效地存储大量“转换”的数据?

0 投票
1 回答
1098 浏览

python - 看来我已经用完了 32 位地址空间。我有哪些选择?

我正在尝试使用numpy.cov. 我收到以下错误:

似乎这对于 32 位机器/构建并不少见(我有一个 64 位 mac os x 10.5,但是使用 32 位 python 和 numpy 构建,因为我在 64- 上构建 numpy+scipy+matplotlib 时遇到了麻烦)位安装)。

那么在这一点上,如果不更换机器(目前我无法使用其他机器),那么推荐的行动方案是什么,可以让我继续进行分析?导出到 fortran/C?有一个简单的(r)解决方案吗?感谢您的建议。

0 投票
8 回答
74321 浏览

sql - 按 ID 删除数百万行的最佳方法

我需要从我的 PG 数据库中删除大约 200 万行。我有一个需要删除的 ID 列表。但是,我尝试这样做的任何方式都需要几天时间。

我尝试将它们放在一个表中并分批执行 100 个。4 天后,它仍在运行,只删除了 2972​​68 行。(我必须从 ID 表中选择 100 个 ID,删除该列表中的位置,从 ids 表中删除我选择的 100 个)。

我试过:

这也需要永远。很难衡量多长时间,因为在完成之前我看不到它的进展,但查询在 2 天后仍在运行。

当我知道要删除的特定 ID 并且有数百万个 ID 时,只是在寻找从表中删除的最有效方法。