Odysseus provides some special handlers to allow automatic processing of execution parameters. Although they belong to different Metadata features, we will show them here.
Special operators can be used to determine metadata by including special operators with distinct parameters at special points in the query plan (e.g. CalcLatency operator). With this extension you will not need to cope with the integration of operators but let Odysseus do the work. For
this we provide the Odysseus Script Command #PRETRANSFORM which will call different functions that transform the query plan, before the execution starts. The Control Parallelismn Feature has a similar approach.
Generic Parameters (all optional):
- path:String: In which folder should the processing result be written
- delimitter: Char: What should be the delimitter for the separation of elements in the CSV output (these parameters are used in CSVFileSink
- stopafterelements:Long: Integrates the Close Stream Operator after each source. The query stops after one source has read at least stopafterelements elements
- stopafterelementswritten:Long: Integrated the Close Stream Operator before the sink, which means, the processing stops after stopafterelementswritten have been written
All the generic parameter can be used in the following three Evaluation handlers. If no path is given, no output will be created.
Latency (core)
See Latency for more information about this metadata.
- usemaxlatency:Boolean, default: false (optional): based on the parameter in CalcLatency operator
Example
#PRETRANSFORM LatencyEvaluation (useMaxLatency=false) (delimmitter=,) (path="I:/tmp/Latencytest/")
Datarate (core)
See Data rate for more information about this metadata.
- updaterate (See Data rate Operator)
#PRETRANSFORM DatarateEvaluation (updaterate=10)
Systemload (Systemload Feature)
See Systemload Metadata for more information about this metadata.
#PRETRANSFORM SystemloadEvaluation
AddSender
Sometimes it is helpful to add a Sender operator after the processing to send the data to another receiver. This AddSender cannot be used together with path!
#PRETRANSFORM AddSender (transport=AMQP) (wrapper=GenericPush) (protocol=CSV) (datahandler=Tuple) (SINK=SENDER) (QUEUE_NAME=nexmark) (CONSUMER_TAG=bid) (HOST=localhost) (writeMetadata=true)
The parameters that can be used are the same as in the Sender operator.