2

我正在使用 MonetDBLite 和 Python 将点云数据导入 MonetDB。由于某些处理步骤非常占用 CPU,因此我将处理并行化以在两个内核上运行。在预处理结束时,数据从 Pandas 数据帧加载到 MonetDB。

只要 Python 进程处于活动状态,磁盘上的数据库大小就会随着每次插入而增加。但是一旦进程/工作者终止,磁盘大小就会缩小到 1.5MB。

如何使更改持久化?

这是对工作流程的粗略简化:

def process:
   # preprocessing...
   x, y = numpy.meshgrid(numpy.arange(1000), numpy.arange(1000))
   z = numpy.random.rand(1000000)
   data = pandas.DataFrame({"x": x, "y": y, "z": z})
   conn = monetdblite.connectclient()
   monetdblite.insert('points', data, client=conn)
   del conn

datalist = [...]
monetdblite.init("./database/")
with Pool(processes=2, maxtasksperchild=1) as p:
    p.map(process, datalist, 1)
monetdblite.shutdown()
4

0 回答 0