首页 > 解决方案 > 如何在 MongoDB(大数据)中导出较小的集合?聚合超时!(非常感谢任何大数据帮助!)

问题描述

这是我第一次在 Stackoverflow 上创建帐户,所以如果我的要求真的很简单,我很抱歉。

我想做的事:我有一个 1400 万个我希望分析的 twitter 数据文档数据库。我试图只查询那些使用特定语言的查询并将该查询导出到一个较小的集合,以便我可以实际对其进行分析。

我的问题:如果没有 MongoDB Compass 超时或无限期运行,我似乎无法运行完整查询 - 我不知道如何使我的数据库更小,如果我的 RAM 被过度使用,我就无法对其进行分析我的电脑崩溃了。

我试过的:

请帮助我,我真的很沮丧,我所有的分析技能都是无用的,因为我似乎无法获得数据,因为规模太大了 :(

如果您有任何其他提示,例如不要使用 MongoDB,将 R 或 Hadoop 用于 windows 或 smth,请告诉我,在这一点上,如果我能掌握这个数据集,我愿意自学任何东西!

谢谢!

标签: mongodbmongodb-querybigdatapymongomongodb-compass

解决方案


为要查询的字段添加索引,并增加集群中的内存等。要在集合上创建索引字段,请使用以下 shell 命令一次:

db.collection.createIndex(
  {
      "language": 1
  },
  {
      unique: false,
  }
)


db.collection.createIndex(
  {
      "user.location": 1
  },
  {
      unique: false,
  }
)

您无需更改查询即可使用索引,MonogDB 会为您解决。


推荐阅读