Versions Compared

Key

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

...

Odysseus has some features to measure the latency of single stream elements. This latency information is modeled as an interval. An operator in Odysseus can modify the start point of this interval. This operator sets the endpoint and determines the place in the query plan, where the latency measurement finds place. There can be multiple operators in the plan, to measure latency at different places.

Parameter

none

Example

Code Block
themeEclipse
languagejavascript
titleCalcLatency Operator
linenumberstrue
output = CALCLATENCY(input)

 

CHANGEDETECT

Description

This operator can be used to filter out equal elements and reduce data rate.

...

The operator can be used to dump the results of an operator to a file.

Deprecated: Use the Sender Operator

Parameter

  • FILE: The filename to dump. If the path does not exist it will be created.
  • FILETYPE: The type of file, CSV: Print as CSV, if not given, the element will be dump to file a raw format (Java toString()-Method)

...

Code Block
themeEclipse
languagesql
titleSender Operator
linenumberstrue
CREATE SINK sink (timestamp STARTTIMESTAMP, auction INTEGER, bidder INTEGER, datetime LONG, price DOUBLE)
    WRAPPER 'GenericPush'
    PROTOCOL 'CSV'
    TRANSPORT 'TCPClient'
    DATAHANDLER 'Tuple'
    OPTIONS ( 'host' 'example.com', 'port' '8081', 'read', '10240', 'write', '10240' )

STREAM TO sink SELECT * FROM input 

...

Description

Parameter

Example

 

SOCKETSINK

Description

This operator can be used to send/provide data from Odysseus via a tcp socket connection. (Remark: This operator will potentially change in future)

Deprecated: Use the Sender operator.

Parameter

Depending on the parameter push:Boolean (todo: change name!), the parameter have to following meaning:

  • push = false (Default): On Odysseus side a server socket connection is opened
    • host:String typically 'localhost'
    • sinkport:Integer On which port should the socket be opened
  • push = true: Odysseus connects to a server
    • host:String Server to connect to
    • port:Integer Port on host to connect to

Example

socketsink({host='localhost', push=false, sinkport=4712, sinkType='bytebuffer', sinkName='driverChannel'}, timestampToPayload(person))

STORE

Description

Transfer temporary information in a context store for use with the Enrich operator. More information about the context store can be found here.

Parameter

  • store: The name of the store

Example

Code Block
themeEclipse
languagejavascript
titleStore Operator
linenumberstrue
STORE({store = 'StoreName'}, input)

 

TIMESTAMPTOPAYLOAD

Description

This operator is needed before data is send to another system (e.g. via a socket sink) to keep the time meta information (i.e. start and end time stamp). The input object gets two new fields with start and end timestamp. If this output is read again by (another) Odysseus instance, the following needs to be attached to the schema:

['start', 'StartTimestamp'], ['end', 'EndTimestamp']

Parameter

The operator is parameterless.

Example

driverChannel = socketsink({sinkport=4712, sinkType='bytebuffer', sinkName='driverChannel'}, timestampToPayload(person))

UNION

Description

This operator calculates the union of two input sets

Parameter

none

Example

PQL
Code Block
themeEclipse
languagejavascript
titleUnion Operator
output = UNION(left, right)

...

Code Block
themeEclipse
languagesql
titleUnion Operator
linenumberstrue
SELECT * FROM left UNION SELECT * FROM rigtht

UNNEST

Description

The UnNest operator unpacks incoming tuple with a multi value attribute to create multiple tuples

Parameter

  • attribute: The attribute that should be unpack.

Example

 

Code Block
themeEclipse
languagejavascript
titleUnNest Operator
linenumberstrue
output = UNNEST({
                 attribute='myAttribute'
                },input)

UDO

Description

The UDO operator calls a user defined operator.

Parameter

  • class: The name of the user defined operator
  • init: Additional parameter for the user defined operator

Example

Code Block
themeEclipse
languagejavascript
titleUDO Operator
linenumberstrue
output = UDO({
              class='MyUDO', 
              init='some parameter'
             }, input)

WINDOW

Description

The window sets – dependent on the used parameters – the validity of the tuple.

Parameter

  • size: The size of the window
  • advance: The advance the window moves forward
  • slide: The slide of the window
  • type: The type of the window. The possible values are Time, Tuple, and Unbound
  • partition: The partition attribute of the window
  • startCondition: The start condition for a predicate window
  • endCondition: The end condition for a predicate window

Example

Code Block
themeEclipse
languagejavascript
titleWindow Operator
linenumberstrue
//sliding time window
 output = WINDOW({
                  size = 5, 
                  advance = 1, 
                  type = 'time'
                 }, input)

 //sliding tuple window partitioned over bidder
 output = WINDOW({
                  size = 5, 
                  advance = 1, 
                  type = 'tuple', 
                  partition=['bidder']
                 }, input) 

 //unbounded window
 output = WINDOW({
                  type = 'unbounded'
                 }, input) 

 //now window (size = 1, advance = 1)
 output = WINDOW({
                  type = 'time'
                 }, input)

 //sliding delta window, reduces time granularity to value of slide
 output = WINDOW({
                  size = 5, 
                  type = 'time', 
                  slide = 5
                 }, input)

 // Predicate window
 output = WINDOW({
                  startCondition = RelationalPredicate('a>10'), 
                  endCondition = RelationalPredicate('a<10')
                 }, input)

 


Benchmark

 

BATCHPRODUCER

Description

Parameter

Example

 

BENCHMARK

Description

Parameter

Example

 

PRIOIDJOIN

Description

Parameter

Example

 

TESTPRODUCER

Description

Parameter

Example

 

Data Mining

 

CLASSIFY

Description

Parameter

Example

 

HOEFFDINGTREE

Description

Parameter

Example

 

LEADER

Description

Parameter

Example

 

SIMPLESINGLEPASSKMEANS

Description

Parameter

Example

 

FREQUENT_ITEM

Description

Parameter

Example

 

Storing

 

DATABASESOURCE

Description

This operator can read data from a relational database. Look at Database Feature for a detailed description.

...