Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepql
#PARSER PQL
#RUNQUERY
sampleArray := RECEIVEDDSSOURCE({
                    source = 'SampleArray',
                  transport = 'dds',
                  datahandler = 'tuple',
                  options=[
                    ['qosFile',' qosfile='${WORKSPACEPROJECT}/USERice_QOS_PROFILESlibrary.xml'],
                    ['idlFile','idlfile='${WORKSPACEPROJECT}/ice.idl'],
                    ['topic=','SampleArray'],
                    ['topicType','topictype='ice::SampleArray'],
                    ['qosLibrary','qoslibrary='ice_library'],
                    ['qosProfile',qosprofile='waveform_data'],
                    ['domain','0']
=0                  ],
                  schema = [
                    ['unique_device_identifier', 'String'],
                    ['metric_id', 'String'],
                    ['instance_id','Long'],
                    ['unit_id','String'],
                    ['frequency','long'],
                    ['values','List<Double>'],
      }              ['time','Tuple<Long,Long>']
                  ]                                                        
                }                                              
              )

There are two important files:

...

Now run the query, and show as table. You should see something like:

Image RemovedImage Added

As you can see, the values attribute contains a list, and the time attribute attributes a tuple.

Storing to a relational database

...

You can store complex objects to a document store like MongoDB. For this, you have to convert the tuple to a KeyValueObject. This can be done with the TupleToKeyValueOperator.#.

See MongoDB Feature for more information on the Mongo DB feature.

Code Block
#RUNQUERY
kv = TUPLETOKEYVALUE(sampleArray)
mongo = MONGODBSINK({PORT = port, HOST = 'host', COLLECTIONNAME = 'collectionname', DATABASE = 'database'}, kv)