pymongo.errors.BulkWriteError:发生批量操作错误(MongoDB 3.4.2、pymongo 3.4.0、python 2.7.13)

2024-05-19

我正在迁移数亿条该格式的推文{'id_str': , 'created_at': , 'text': }使用 pymongo 将文本文件转换为 MongoDB。为每个用户创建一个集合来存储他/她的推文。我使用的插入方法是insert_many()。常常会遇到BulkWriteError.

Traceback (most recent call last):
  File "pipeline.py", line 105, in <module>
    timeline_db, meta_db, negative_db, log_col, dir_path)
  File "/media/haitao/Storage/twitter_pipeline/migrate_old.py", line 134, in migrate_dir
    timeline_db[user_id].insert_many(utility.temporal_sort(statuses))
  File "/home/haitao/anaconda3/envs/py27/lib/python2.7/site-packages/pymongo/collection.py", line 711, in insert_many
    blk.execute(self.write_concern.document)
  File "/home/haitao/anaconda3/envs/py27/lib/python2.7/site-packages/pymongo/bulk.py", line 493, in execute
    return self.execute_command(sock_info, generator, write_concern)
  File "/home/haitao/anaconda3/envs/py27/lib/python2.7/site-packages/pymongo/bulk.py", line 331, in execute_command
    raise BulkWriteError(full_result)
pymongo.errors.BulkWriteError: batch op errors occurred

当存在重复的键时似乎会发生此错误,但此处不应出现这种情况。我还可以检查其他事项来解决此问题吗?

提前致谢!


抱歉耽搁了。

1)我复制了这个错误。下面是接近尾声的内容mongod.log.

I -        [ftdc] Assertion: 13538:couldn't open [/proc/5774/stat] errno:24 Too many open
files
W FTDC     [ftdc] Uncaught exception in 'Location13538: couldn't open [/proc/5774/stat] 
errno:24 Too many open files' in full-time diagnostic data capture subsystem. Shutting down 
the full-time diagnostic data capture subsystem.
E STORAGE  [conn2] WiredTiger (24) [1491020356:127332][5774:0x7f6f30e9d700], WT_SESSION
.create: /var/lib/mongodb/: directory-sync: open: Too many open files
I COMMAND  [conn2] command timeline_db.231731006 command: insert { insert: "231731006", 
ordered: true, documents: 1000 } ninserted:0 keyUpdates:0 writeConflicts:0 exception: 24: 
Too many open files code:8 numYields:0 reslen:123 locks:{ Global: { acquireCount: { r: 2, 
w: 2 } }, Database: { acquireCount: { w: 1, W: 1 } }, Collection: { acquireCount: { w: 1, 
W: 1 } } } protocol:op_query 511ms```

2) 是的,只有一个实例MongoClient()被传递。

3) 没有运行多重处理。

在我发布最初的问题后,我开始使用insert_one()这明确引发了打开文件限制错误。我改变了数据库的设计(主要是减少了集合数量)并解决了打开文件限制的问题。我不确定,但日志似乎表明实际原因BulkWriteError也是打开文件限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pymongo.errors.BulkWriteError:发生批量操作错误(MongoDB 3.4.2、pymongo 3.4.0、python 2.7.13) 的相关文章

随机推荐

  • C++:是否可以在执行时设置 void-pointer、variant-object 或 an-object 的类型?

    void pointer variant objects 和any objects 是令人惊奇的 因为它们可以在同一个变量中存储许多不同的类型 但我对它们有一个问题 我需要在执行时指定它们的类型 创建和 或取消引用它们 这可能吗 为了更清楚
  • 需要使用 pyparsing 制作递归解析器的帮助

    我正在尝试使用 python pyparsing 进行解析 我在制作递归解析器时陷入困境 让我解释一下问题 我想要计算元素的笛卡尔积 语法是 cross elements element 我用更具体的方式 cross a c1 or cro
  • Bootstrap Affix Nav 导致下面的 Div 向上跳转

    我使用 Bootstrap 的 Affix 函数创建了一个 JSFiddle 以便在向下滚动并且标题移出视图时使导航保持在屏幕顶部 我遇到的问题是 当使用纯 HTML 时 导航下方的文本会过早地跳起来并隐藏在导航后面 查看有问题的代码her
  • 如何查看 Maven pom.xml 文件的传递依赖关系?

    有没有一个 CLI 工具可以用来快速查看 Maven 的传递依赖关系pom xml file 在 CLI 上 使用mvn dependency tree http maven apache org plugins maven depende
  • Node JS - 如何检测用户语言

    我正在尝试在纯 Node js 中检查用户语言 而不使用 npm 的任何扩展 我使用了进程和全局命令 有很多规范但我找不到系统语言 这是获取默认区域设置的独立于操作系统 节点 浏览器的方法 let locale Intl DateTimeF
  • 如何使用 Django HttpResponseRedirect 提供规范 URL?

    这个问题和我刚才问的很相似href 我可以获取 Google 搜索结果来使用 显示最终重定向网址吗 https stackoverflow com questions 22728433 href can i get google searc
  • PYTHON 从嵌套列表中删除元素

    我有一个像这样的数组 dataSet 387230 296163 323434 311472 323412 166282 410119 我想删除元素 311472 但不知道如何删除 我努力了 for set in dataSet for i
  • BottomNavigationView - 如何获取选定的菜单项?

    我使用BottomNavigationView来切换片段 如何获取当前选定的菜单项 以防止重新打开片段 BottomNavigationView bottomNavigationView BottomNavigationView findV
  • 在不同的捆绑包上测试 iPhone 应用内购买?

    我们有一组 iPhone 应用程序的 Beta 测试人员 最近 我们在应用程序中添加了应用内购买功能 在此之前 我们会使用单独的捆绑 ID 和名称向 Beta 测试人员发送临时版本 以便他们可以在手机上拥有商店版本和临时版本 然而 似乎我们
  • 在c#中映射两个类

    我有两节课 public class foo1 public int id public string image link public string sale price and public class foo2 public int
  • 分布式模式下的 JMeter 摘要报告

    我正在分布式模式 2个从站 主站 下运行Jmeter性能测试 在我的测试脚本中我配置了摘要 报告应将一些数据保存到 csv 文件 此文件位置配置有固定名称 reports summary csv 值 当我从主站成功连接到两个从站时 测试在从
  • OpenCV:如何从网络摄像头获取原始 YUY2 图像?

    你知道如何获得吗raw YUY2来自网络摄像头的图像 使用 OpenCV DirectShow 无 VFW http opencv willowgarage com wiki CameraCapture http opencv willow
  • 如何设置透明叠加 WMS 图层的样式

    我成功了覆盖WMS层 http blog sumbera com 2010 11 02 tiled wms overlay on google map v3 然而 在谷歌地图v3中 由于图块上的信息是透明的黑色 因此在深色背景 如卫星地图
  • php基于onclick函数输入日期类型

    用户选择日期 月份和年份 然后按一个按钮 根据他选择的日期向他显示数据库的值 不知道代码问题出在哪里
  • JDBC 错误:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我在 Java Eclipse 中收到错误消息 我在 MySql 中有一个数据库 它有列 String user name int id time int id desk int user password 我想
  • LuaJ 导入 Lua 方法

    我正在使用 LuaJ 并且我有一个 lua文件充满了一堆函数 如何通过 LuaJ 导入这些函数以在 Java 中使用 一种选择是将文件编译为 Java 代码并导入它 另一种方法是使用可嵌入解释器直接从 Java 代码中调用 Lua 文件 E
  • 如何解决 Socket.io 404(未找到)错误?

    我正在使用 Socket io 和 Express 在我的项目中 我有一个登录页面和一个主页 当我成功登录时 我导航到 localhost 3000 home 并收到以下错误 GET http localhost 3000 socket i
  • 在应用程序简历中隐藏软键盘

    我有一个 Android 应用程序 使用 Xamarin 用 C 编写 我已将应用程序简化为包含 TextView 和用于横幅广告的 Google admod AdView 的 LinearLayout 我不希望软键盘出现在应用程序中 这不
  • 处理与不同相关实体的一对多的正确模式

    我有一个 C 项目 我使用实体框架作为 ORM 我有一个User 可以向多家银行付款 每家银行都是一个独立的实体 并且每家银行都由不同的字段描述 问题是 一User可以没有或有很多不同的Banks 我不太确定如何对此进行建模 临时解决方案是
  • pymongo.errors.BulkWriteError:发生批量操作错误(MongoDB 3.4.2、pymongo 3.4.0、python 2.7.13)

    我正在迁移数亿条该格式的推文 id str created at text 使用 pymongo 将文本文件转换为 MongoDB 为每个用户创建一个集合来存储他 她的推文 我使用的插入方法是insert many 常常会遇到BulkWri