问题标签 [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 投票
3 回答
486 浏览

node.js - 通过 Node.js 从 MongoDB 返回大量项目

我正在从 Node.js 中的 MongoDB 集合返回很多(500k+)个文档。它不是为了在网站上显示,而是为了数据一些数字处理。如果我抓住所有这些文件,系统就会冻结。有没有更好的方法来抓住这一切?

我在想分页可能有用吗?

编辑:这已经在主 node.js 服务器事件循环之外,因此“系统冻结”并不意味着“未处理传入请求”

0 投票
4 回答
3611 浏览

r - R中的大数据处理和分析

我知道这在 R 中并不是一个新概念,我浏览了高性能和并行计算任务视图。话虽如此,我是从无知的角度问这个问题的,因为我没有接受过计算机科学方面的正式培训并且完全是自学的。

最近我从 Twitter Streaming API 收集了数据,目前原始 JSON 位于一个 10 GB 的文本文件中。我知道在使用 R 来处理大数据方面已经取得了长足的进步,那么您将如何解决这个问题呢?以下是我希望完成的一些任务:

  1. 读取数据并将其处理成数据帧
  2. 基本的描述性分析,包括文本挖掘(常用词等)
  3. 绘图

是否可以为此完全使用 R,或者我必须编写一些 Python 来解析数据并将其放入数据库中,以便获取足够小的随机样本以适合 R。

简单地说,您可以提供的任何提示或指示将不胜感激。同样,如果您在三年级级别描述解决方案,我也不会生气。

提前致谢。

0 投票
4 回答
1761 浏览

python - 将文件内容发送到管道并在单个步骤中计算 # 行的 Pythonic 方式

鉴于 > 4gb 文件 myfile.gz,我需要将其 zcat 到管道中以供 Teradata 的快速加载使用。我还需要计算文件中的行数。理想情况下,我只想对文件进行一次传递。我使用 awk 将整行($0)输出到标准输出,并通过使用 awk 的 END 子句,将行数(awk 的 NR 变量)写入另一个文件描述符(outfile)。

我已经设法使用 awk 做到了这一点,但我想知道是否存在更 Pythonic 的方式。

该管道随后被调用 teradata 的 fastload 消耗,该快速加载从

这可行,但我想知道是否可以跳过 awk 并更好地利用 python。我也对其他方法持开放态度。我有多个需要以这种方式处理的大文件。

0 投票
1 回答
2476 浏览

database - 具有大量读写的海量数据的最佳数据存储

我需要在数据库中存储大约 1 亿条记录。每天将删除大约 60-70% 的记录,每天插入相同数量的记录。我觉得像 Hbase、Big Table 这样的文档数据库很适合。还有许多其他数据存储,例如 Cassandra、MongoDb 等。哪种数据存储对此类问题很有用,因为每天会有大量的读/写(数以百万计)。

0 投票
2 回答
836 浏览

algorithm - stackoverflow 建议是如何工作的?

算法背后的理论是什么,例如,当你写一个类似的问题时,它会在 stackoverflow 网站上生成建议?你能推荐一些关于这个主题的书吗?

0 投票
5 回答
1798 浏览

java - 如何产生海量数据?

我正在用 nutch 和 hadoop 做一些测试,我需要大量的数据。我想从 20GB 开始,到 100GB、500GB 并最终达到 1-2TB。

问题是我没有这么多的数据,所以我在想办法产生它。

数据本身可以是任何类型的。一个想法是获取一组初始数据并复制它。但它还不够好,因为需要彼此不同的文件(忽略相同的文件)。

另一个想法是编写一个程序来创建带有虚拟数据的文件。

还有什么想法吗?

0 投票
2 回答
194 浏览

asp.net-mvc - 在生产 MVC/SQL 应用程序中记录大量操作

我们是 ASP.NET MVC 框架和 SQL Server 的快乐用户,目前使用的是 LINQ-to-SQL。它通过面向消费者的应用程序很好地满足了我们的需求,该应用程序每月约有 140 万用户和 2+ 百万活跃唯一用户。

我们早就应该开始记录所有用户操作(文章查看、我们网站上的搜索等),并且我们正在尝试确定正确的架构来做到这一点。

我们希望归档系统是它自己的实体,而不是存储生产文章和搜索引擎的主 SQL 集群的一部分。我们希望它成为自己的 SQL 集群,一开始只有一个盒子。

为了简化问题,假设我们只想记录这数百万用户在当月进入我们网站的搜索词,并且我们希望以尽可能少的周期密集型方式进行。

我的问题:(1)是否有异步方式将搜索词转储到远程框?LINQ 是否支持异步?

(2) 您是否建议在 RAM 缓存中构建一个包含 1,000 个(userId、searchTerm、日期)日志项的缓存,然后每隔一段时间将这些日志项刷新到数据库中?我认为这种方法会减少打开/关闭连接。

还是我认为这完全错误?我们希望在易于实施和稳健性之间取得平衡。

0 投票
1 回答
3031 浏览

r - R 中的 Bigglm:源代码的限制和改进(例如调用 Fortran)

我最近一直在使用 R 在 100 mb csv 文件(900 万行 x 5 列)上运行广义线性模型(GLM)。该文件的内容包括 5 列,称为 depvar、var1、var2、var3、var4,并且都是随机分布的,因此这些列包含的数字是 0,1 或 2。基本上我使用 biglm 包来运行 GLM这个数据文件和 R 在大约 2 分钟内处理了这个。这是在使用 R 版本 2.10(我目前正在更新到 2.14)、4 核和 8 GB RAM 的 linux 机器上。基本上我想在 30 到 60 秒左右更快地运行代码。一种解决方案是添加更多内核和 RAM,但这只是一个临时解决方案,因为我意识到数据集只会变得更大。理想情况下,我想找到一种方法让 bigglm 的代码更快。我在数据集上运行了一些 R 分析代码。

然后在输入此命令后,我编写了如下所示的 bigglm 代码:

运行这些代码大约需要 2 到 3 分钟后,我键入以下内容来查看我的分析代码:

然后我得到的是 bigglm 过程的细分以及哪些单独的行需要很长时间。在查看此内容后,我惊讶地发现调用 fortran 代码需要很长时间(大约 20 秒)。此代码可以在 Bigglm 的基本文件中找到:

在 bigglm 0.8.tar.gz 文件中

基本上我要问社区的是,这段代码可以做得更快吗?例如通过更改代码来调用 Fortran 代码来进行 QR 分解。此外还有其他函数,如 as.character 和 model.matrix 也需要很长时间。我没有在此处附加分析文件,因为我相信根据我提供的信息可以轻松复制它,但基本上我是在暗示大数据的大问题并在此大数据上处理 GLM。这是 R 社区共享的一个问题,我认为任何反馈或帮助将不胜感激。您可能可以使用不同的数据集轻松复制此示例,并查看 bigglm 代码中花费了这么长时间的内容,看看它们是否与我发现的相同。如果是这样,有人可以帮我弄清楚如何让 bigglm 运行得更快。在 Ben 请求之后,我上传了我拥有的分析代码片段以及我的 csv 文件的前 10 行:

这个 CSV 输出是从我的文本编辑器 UltraEdit 复制的,可以看出 var1 取值 0 或 1,var2 取值 0 和 1,var3 取值 0,1,2,var4 取值 0,1, 2,3 和 depvar 取值 1 或 0。此 csv 可以使用 RAND 函数在 excel 中复制最多约 100 万行,然后可以复制和粘贴多次以在文本编辑器中获得大量行像超编辑。基本上将 RAND() 键入一列以获得 100 万列,然后在 RAND() 列旁边的列中进行舍入(列)以获得 1 和零。同样的想法适用于 0,1,2,3。

分析文件很长,所以我附上了花费最多时间的行:

我主要对调用 Fortran 的 .Call 函数感到惊讶。可能我没看懂。一旦使用此功能,似乎所有计算都已完成。我认为这就像一个用于提取 Fortran 代码的链接函数。此外,如果 Fortran 正在完成所有工作以及所有迭代加权最小二乘/QR,那么为什么其余代码要花这么长时间。

0 投票
2 回答
706 浏览

database - BigTable 设计 - BigTable 单元格大小的上限

我想知道 BigTable 是否对单元格内容的大小有上限。我所说的 BigTable 单元格是指表的特定列族、特定行和特定时间戳中的单元格。如果是,那么上限是多少,如果不是,那么在不影响性能的情况下,cell 的大小可以扩大到多少?

BigTable 论文说每个 SSTable 文件内部都有 64Kb 块和一个索引。这是否意味着索引的键是row+column+timestamp(其中+代表连接),并且某个键映射的值是64kb的对应单元格?那么这是否意味着 BigTable 单元格不能超过 64 Kb?

谢谢

0 投票
2 回答
643 浏览

amazon-ec2 - 如何将大数据公共数据集导入 AWS?

加载任何亚马逊列出的公共数据集 (http://aws.amazon.com/datasets) 将占用大量资源和带宽。将它们导入 AWS 以便您快速开始使用它们的最佳方式是什么?