Bulk load from memory
hermano_lustosa at hotmail.com
Sun Oct 9 20:47:12 CEST 2016
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...
More information about the developers-list