Versions Compared

Key

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

...

Because the data is given as csv file, the external server can be omitted and allows for some tests an easier processing. Here we simpy use the  CSV protocol handler and read the input from file.

Code Block
///OdysseusScript
#PARSER PQL
#QUERY
gchSource := CSVFILESOURCETIMESTAMPORDERVALIDATE({
                  source = 'GrandChallengeDataPoint'debug=true,
                  delimiter = '\t',
    debugmode=0
              filename = '${WORKSPACEPROJECT}/allData.txt',
                  dateformat="yyyy-MM-dd'T'HH:mm:ss.SSS",
CSVFILESOURCE({
                    schema=[
source = 'GrandChallengeDataPoint',
                    delimiter = '\t',
                    filename = '${WORKSPACEPROJECT}/allData.txt',
                    dateformat="yyyy-MM-dd'T'HH:mm:ss.SSSSSSSzzz",
                    ///options=[['scheduler.delay','1000']],
                    schema=[
                      ['ts','StartTimestampString'],
                      ['index','long'],
                      ['tsmf01','StartTimestampStringinteger'],
                      ['indexmf02','longinteger'],
                      ['mf01mf03','integer'],
                      ['mf02pc13','integer'],
                      ['mf03pc14','integer'],
                      ['pc13pc15','integer'],
                      ['pc14pc25','integerlong'],
                      ['pc15pc26','integerlong'],
                      ['pc25pc27','long'],
                      ['pc26res','long'],
                      ['pc27bm05','longBoolean'],
                      ['resbm06','longBoolean'],
                      ['bm05bm07','Boolean'],
                      ['bm06bm08','Boolean'],

                      ['bm07bm09','Boolean'],
                      ['bm08bm10','Boolean'],
                      ['bm09pp01','Boolean'],
                      ['bm10pp02','Boolean'],
                      ['pp01pp03','Boolean'],
                      ['pp02pp04','Boolean'],
                      ['pp03pp05','Boolean'],
                      ['pp04pp06','Boolean'],
                      ['pp05pp07','Boolean'],
                      ['pp06pp08','Boolean'],
                      ['pp07pp09','Boolean'],
                      ['pp08pp10','Boolean'],
                      ['pp09pp11','Boolean'],
                      ['pp10pp12','Boolean'],
                      ['pp11pp13','Boolean'],
                      ['pp12pp14','Boolean'],
                      ['pp13pp15','Boolean'],
                      ['pp14pp16','Boolean'],
                      ['pp15pp17','Boolean'],
                      ['pp16pp18','Boolean'],
                      ['pp17pp19','Boolean'],
                      ['pp18pp20','Boolean'],
                      ['pp19pp21','Boolean'],
                      ['pp20pp22','Boolean'],
                      ['pp21pp23','Boolean'],
                      ['pp22pp24','Boolean'],
                      ['pp23pp25','Boolean'],
                      ['pp24pp26','Boolean'],
                      ['pp25pp27','Boolean'],
                      ['pp26pp28','Boolean'],
                      ['pp27pp29','Boolean'],
                      ['pp28pp30','Boolean'],

                      ['pp29pp31','Boolean'],
                      ['pp30pp32','Boolean'],
                      ['pp31pp33','Boolean'],
                      ['pp32pp34','Boolean'],
                      ['pp33pp35','Boolean'],
                      ['pp34pp36','Boolean'],
                      ['pp35pc01','Boolean'],
                      ['pp36pc02','Boolean'],
                      ['pc01pc03','Boolean'],
                      ['pc02pc04','Boolean'],
                      ['pc03pc05','Boolean'],
                      ['pc04pc06','Boolean'],
                      ['pc05pc19','Boolean'],
                      ['pc06pc20','Boolean'],
                      ['pc19pc21','Boolean'],
                      ['pc20pc22','Boolean'],
                      ['pc21pc23','Boolean'],
                      ['pc22pc24','Boolean'],
                    ['pc23','Boolean'],
                    ['pc24','Boolean']

                  }      ]        
                })
              )

In this case, the csv file is found in the workspace folder.

Remark:

  • The input file does not contains long values for the time stamp but a String date format. The format of the input string is given with the option:dateformat.
  • The input file contains some time stamps out of order. So the TimestampOrderValidate Operator is used to suppress these values.