在容器里 Parse 大体积的 JSON 文件到 Postgres 有什么好办法吗?主要是内存占用还有效率问题。
資深大佬 : nuistzhou 3
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 来处理,但是没有经验,不知道是否可行,以及在容器上执行的效率还有内存占用问题。
不知道有没有大佬能指点一下,比如有没有更好的流处理办法,谢谢!
大佬有話說 (2)