2

我正在使用 LevelDB 作为本地进程的一部分,当一切都完成后,它有大约 10-1 亿个 JSON 条目。

我需要将这些转换成可移植的格式,最好是作为一个或多个 csv(甚至是行分隔的 json)文件导入到单独的 mongodb 系统中。

我在 node.js 中做了一个快速测试,将 db 内容流式传输到一个文件中(使用node-levelup,在我的机器上,1000 万对大约需要 18.5 分钟。看起来很慢。

寻找有关从 leveldb 更快转储/导出的建议。

我考虑过使用 mongodb 作为本地处理的存储,因为mongoexport它要快得多,但是设置的开销要大得多,因为我需要几个分片来提高我的写入速度。

4

1 回答 1

1

在 leveldb 中检索所有条目的最快方法是使用它的迭代器,它可能 node-levelup 已经为此做了。

由于您仍然需要一个工具来解析导出的文件,我建议您只需将 leveldb 的数据目录复制为导出文件。您可以在 python/ruby/... 中打开它并对其进行迭代,就像任何具有 leveldb 包装器的脚本一样。

于 2014-02-24T07:21:21.670 回答