As.scidb error on version 15.12


#1

Hello,

I’m having problems with the as.scidb function in R.

I have a “clean install” multi-node SciDB version 15.12.
And I also installed shim and SciDB-R (the latter directly form github)…

I run into problems when trying the as.scidb function:

> X <- as.scidb(morley, name="morely")
Error in value[[3L]](cond) : 
  Error in SGET("/execute_query", list(id = sessionid, release = release, : HTTP error 500
UserQueryException in file: src/query/OperatorLibrary.cpp function: createLogicalOperator line: 86
Error id: scidb::SCIDB_SE_QPROC::SCIDB_LE_LOGICAL_OP_DOESNT_EXIST
Error description: Query processor error. SystemException in file: src/query/OperatorLibrary.cpp function: createLogicalOperator line: 86
Error id: scidb::SCIDB_SE_QPROC::SCIDB_LE_LOGICAL_OP_DOESNT_EXIST
Error description: Query processor error. Logical operator 'parse' does not exist..
store(redimension(apply(parse(split('/tmp//shim_input_buf_qUkC82'),'num_attributes=3'),Expt, dcast(a0, int32(null)),Run, dcast(a1, int32(null)),Speed, dcast(a2, int32(null))),<Expt : int32  null,Run : int32  null,Speed : int32  null>[row=1:100,100,0]),morely)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In addition: Warning message:
In POST(X, list(id = session)) : NAs introduced by coercion

Thanks for your help.

Fabio


#2

Hi Fabio,

To use the R-to-SciDB upload, you need one of the load-tools packages.

There are two options. Pick one.

  1. https://github.com/paradigm4/accelerated_io_tools
    This is more recent and faster but takes some time to install.
    If you do install it, edit shim.conf and set aio=1 for faster data download.

  2. The older version is part of the installation. You just say

iquery -aq "load_library('prototype_load_tools')"

And the operators split and parse appear.

Just keep in mind - these libraries don’t like each other. So if you have one and you need to switch to another, see:


#3

Many thanks for the quick reply.

I loaded the older version and everything worked fine.
I will also give the newer one a try at a later stage.

I do have an additional related question.
Is there a standard configuration setting that automates loading SciDB extra libraries at startup, or should I simply create my own shell script that does that?


#4

There’s no standard config but SciDB remembers the loaded libraries. It will continue to re-load them on restart until the next time you re-init.

There is also the “prelude.txt” file that is executed on startup but you shouldn’t need to modify it.