10+G 的 JSON 文件,大概有几千万条记录,每条记录的 fields 或多或少不太一样,现在我想把这个 json 弄到 Postgres 里,而且只想要其中的 2 个公共 fields (所有的记录都有这两个属性)。对了,容器我只给了 2G 内存,除去运行的程序,可能只剩 700MB+的空余内存了。
现在的 2 个想法是:
1 、用 Pandas 的 read_json()的 chunksize 来把 json 读取成流文件,然后一个 chunk 接一个 chunk 地读取到内存,然后写到数据库里。 但是我在容器里实现时,每次都是 python 进程被 kill 了,可能是内存问题,但我的 chunksize 填 10 也一样失败,10 行数据也不大呀,百思不得其解。
2 、想用 Bash 的 jq 来处理,但是没有经验,不知道是否可行,以及在容器上执行的效率还有内存占用问题。
不知道有没有大佬能指点一下,比如有没有更好的流处理办法,谢谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.