解析巨大(10GB+)JSON 文件的最佳方式

Posted

技术标签:

【中文标题】解析巨大(10GB+)JSON 文件的最佳方式【英文标题】:Best way of parsing huge (10GB+) JSON files 【发布时间】:2020-06-15 23:04:52 【问题描述】:

我想知道解析存储为 json 文件的数据的最佳工具、IDE、编程语言是什么。

我在 python 中尝试 pandas,在 R 中尝试 ff,它们要么因内存问题而崩溃,要么处理时间过长。你有他们的经验吗?特别是ff?

有什么好的替代品吗?

【问题讨论】:

【参考方案1】:

你可以试试go的json stream decoder。

将文件作为流读取,然后逐个令牌读取,您可以决定如何处理每个令牌:

f, err := os.Open("data.json")
if err != nil 
    log.Fatal(err)

defer f.Close()

dec := json.NewDecoder(f)
while dec.More() 
    // dec.Token()

这应该消耗很少的内存。

【讨论】:

以上是关于解析巨大(10GB+)JSON 文件的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中解析大型 XML(大小为 1GB)的最佳方法是啥?

在 Node.js 中解析巨大的日志文件 - 逐行读取

显示 swiftyjson 解析数据的最佳方式?

如何高效快速地解析大量行格式json文件

使用 C# 解析 JSON 文本文件

解析连续 JSON 文件的最佳方法?