我正在尝试将 netCDF4 包与 python 一起使用。我正在摄取近 2000 万条数据记录,每条 28 字节,然后我需要将数据写入 netCDF4 文件。昨天,我尝试一次完成所有操作,执行一个小时左右后,python 停止运行代码并显示非常有用的错误消息:
Killed.
无论如何,对数据的子部分执行此操作,很明显在 2,560,000 条记录和 5,120,000 条记录之间的某个地方,代码没有足够的内存并且必须开始交换。当然,性能会大大降低。所以有两个问题:1)有人知道如何使这项工作更有效吗?我在想的一件事是以某种方式逐步放入数据的子部分,而不是一次全部完成。有谁知道该怎么做?2)我推测“Killed”消息是在内存最终耗尽时发生的,但我不知道。任何人都可以对此有所了解吗?
谢谢。
附录:netCDF4 提供了这个问题的答案,你可以在我给自己的问题的答案中看到。所以目前,我可以继续前进。但这里有另一个问题:netCDF4 的答案不适用于 netCDF3,而且 netCDF3 也不会消失。任何人都知道如何在netCDF3的框架中解决这个问题?再次感谢。