【问题标题】:Read the 100Mb xlsx file parse it in java and store it into mongodb? Fast读取 100Mb xlsx 文件用 java 解析并存入 mongodb?快速地
【发布时间】:2015-12-10 19:38:09
【问题描述】:

我想读取 xlsx 文件并存储到 mongodb。文件大小最小为 100mb。我想读取 xlsx 文件并将其解析为 json 并将其存储到 mongodb..

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

    您可以使用 Apache POI 读取 XLSX 文件(如此处所述 http://java67.blogspot.com/2014/09/how-to-read-write-xlsx-file-in-java-apache-poi-example.html)。

    由于在 mongodb (http://docs.mongodb.org/master/reference/limits/) 中每个文档有 16 mb 的限制,您可能希望使用 GridFS 来写入原始数据。下面是一个例子:

    https://blog.codecentric.de/en/2012/11/mongodb-supplemental-gridfs-example-in-java/

    [更新] 如果您在 XLSX 文件中实际上有很多小文档(例如每行文档),那么您可以使用类似批处理的方式按块插入文档(参见 How to insert multiple documents at once in MongoDB through Java 作为示例)。

    【讨论】:

    • 感谢 rsutormin。我试过这个,但我想在两秒内每两秒读取超过 100mb 的文件我必须解析它并保存到 mongoDb gridfs 我使用 gridfs 我想在最短时间跨度内完成它,比如两秒。我的全部数据都在 PB 中。但我从 URl 中取出这张表。
    • 另一个问题是,如果速度如此关键,那么为什么不处理 CSV 文件,而可以借助标准工具 (stackoverflow.com/questions/4686500/…) 将其导入 MongoDB?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2017-12-23
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 2011-11-17
    相关资源
    最近更新 更多