找不到将leveldb转储到平面文件的有效方法

时间:2014-02-19 22:38:56

标签: node.js mongodb leveldb

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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