...
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 (JavatoString()
-Method)
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 openedhost
: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 toport: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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
output = UNION(left, right) |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
output = UNNEST({ attribute='myAttribute' },input) |
UDO
Description
The UDO operator calls a user defined operator.
Parameter
class:
The name of the user defined operatorinit:
Additional parameter for the user defined operator
Example
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 windowadvance:
The advance the window moves forwardslide:
The slide of the windowtype:
The type of the window. The possible values are Time, Tuple, and Unboundpartition:
The partition attribute of the windowstartCondition:
The start condition for a predicate windowendCondition:
The end condition for a predicate window
Example
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//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.
...