Versions Compared

Key

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

...

  • source: The name of the access operator. Remark: This name must be different to all source names and all view or stream definitions! A new source will be added to the data dictionary automatically.
  • wrapper: In Odysseus the default wrappers are GenericPush and GenericPull
  • transport: The transport defines the transport protocol to use.
  • protocol: The protocol parameter defines the application protocol to transform the processing results.
  • datahandler: This parameter defines the transform of the single attributes of the processing results.
  • options: Transport protocol and application protocol depending options
  • schema: The output schema of the access operator (may depend on the protocol handler)
  • metaattribute: What kind of meta data should the source provide.
  • readMetaData: If you receiving data that already contains meta data in an Odysseus based format (e.g. if you are sending from another Odysseus node) this value must be set to 'true' (default is false), to read this meta data. Important: In this case, the schema should not contain Timestamp attributes, else the meta data may be overwritten.
  • dateformat: If you are using STARTTIMESTAMPSTRING or ENDTIMESTAMPSTRING, this option is define the format of the timestamp string. See https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html for an explanation of the needed parameters. Hint: If you timestamp does not contain a timezone and this containing timezone is different that the local timezone you will need to use the Timestamp operator for processing. 

There are some options that are not used by transformation:

...

Code Block
languagejavascript
themeEclipse
titleAccess Operator
linenumberstrue
input = ACCESS({source='Source',
wrapper='GenericPush',
transport='TCPClient',
protocol='CSV',
dataHandler='Tuple',
METAATTRIBUTE = ['TimeInterval','Latency','Datarate'], /// or: METAATTRIBUTE = 'TimeIntervalLatencyDatarate'
options=[['host', 'example.com'],['port', '8080'],['read', '10240'],['write', '10240']],
schema=[
['id', 'Double'],
['data', 'String']]
})
 


Here a complexer example about what could be possible:

Code Block
in = ACCESS({
          transport = 'FILE',
          datahandler = 'Tuple',
          source = 'AVKVIN1',
          wrapper = 'GenericPull',
          protocol = 'simplecsv',
          dateformat = 'dd.MM.yyyy HH:mm:ss',
          options = [
            ['filename','${FILEPATH}'],
            ['skipFirstLines','5'],
            ['delimiter',';'],
            ['decimalseparator',','],
            ['csv.floatingformatter','#,##'],
            ['debug','true'],
            ['maxLines','323944'] /// there are empty lines at the end of the file
          ],
          schema = [
            ['ts','STARTTIMESTAMPSTRING'],
            ['1SMA10CW001/XQ12.OS','Double',[['Unit','t/h'],['Info','This is explaining text']]],
            ['1LBA10CF901/GW/MA1.U','Double',[['Unit','t/h'],['Info','Other Text']]],
            ['1LBA10CP001/GW/MA1.U','Double',[['Unit','°C'],['Info','...']]],
            ['1HAH25CT001/XQ01/MA2.U','Double',[['Unit','°C'],['Info','...']]],
            ['1HAH25CT002/XQ01/MA2.U','Double',[['Unit','°C'],['Info','...']]],
            ['1HAH35CT001/XQ01/MA2.U','Double',[['Unit','°C'],['Info','..']]]
          ]                                        
        }                                    
      )
         



There are some special logical Operators, that allow an easier handling of the ACCESS-Operation (but are semantically equal)

Children Display