Bulk load from memory

Hermano ... hermano_lustosa at hotmail.com
Sun Oct 9 20:47:12 CEST 2016


Hello

I became very interested in MonetDB during my research, and I am considering developing my own MAL compiler for a system based on a data model my research group is working on in the future. For now, I've been trying to understand MAL and how the COPY INTO command works in MonetDB

Initially, I wish to do a large bulk load from an array in memory directly into MonetDB. My first "closed box" approach was to do the following:

-Create a binary integer file containing milions of integers in /dev/shm/ named teste.bin. It is a memory based device, so the data is expected to be in main memory.

-Create a table in MonetDB: CREATE TABLE teste (val INT);

-Try to do BINARY COPY FROM: COPY BINARY INTO teste FROM ('/dev/shm/teste.bin').

When I try to this I get the error:

Failed to attach file /dev/shm/teste.bin
BATattach: cannot rename heapfile
!OS: Invalid cross-device link

After that I understood that monetdb basically moves the entire file around, which can't be done with data from another device.

I wish to know if there is any sort of functionality in MonetDB or even a MAL module that would allow me to read from some sort of shared memory buffer (kind vague I know) directly into a BAT file. The MAL program for the COPY command has an sql.importTable and sql.append calls, so I wonder if there is some variant of those that would allow me to load binary data from a memory buffer?

Thanks in Advance
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.monetdb.org/pipermail/developers-list/attachments/20161009/df7210c6/attachment.html>


More information about the developers-list mailing list