Вставки в MonetDB не являются постоянными - PullRequest
1 голос
/ 16 мая 2019

Я импортирую данные облака точек в MonetDB, используя MonetDBLite и Python. Поскольку некоторые этапы обработки требуют значительных ресурсов процессора, я распараллеливаю обработку для работы на двух ядрах. В конце предварительной обработки данные загружаются в MonetDB из фрейма данных Pandas.

Пока активен процесс Python, размер базы данных на диске увеличивается с каждой вставкой. Но как только процесс / работник завершает работу, размер диска уменьшается до 1,5 МБ.

Как сделать изменения постоянными?

Это грубое упрощение рабочего процесса:

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()
...