Performs a mapping of incoming attributes to out-coming attributes using map functions. Odysseus also provides a wide range of mapping functions.
Hint: Map is stateless. To used Map in a statebased fashion see: StateMap
Parameter
expressions:A list of expressions to map multiple incoming attribute values to out-coming attributes. Optional each expression can have a name (in this case use['expression', 'expressionName'])threads:Number of threads used to process the expressions simultaneous. A positive number greater than 1 indicates the fixed number of threads, a value of 0 or 1 disables threading, and a negative number estimates the number of threads based on the number of expressions and the available processors.allownull:If set to true (default) and an error occurs in calculation a null value is added to the element. Else the element is skipped and no output is produced. Default is true.evaluateOnPunctuation: If set to true, map will also create an output (with the last read element) when it receives a punctuation.supressErrors: If set to true calculation errors will not appear in log or console. Could be helpful in scenarios where null values are allowed.keepAttributes: If set to true, the input object will be copied to the output object. Remark: Not usable in keyvalue, here you should use $ insteadremoveAttribtues:A List of attributes, which will be removed from the input object. Only valid together with keepAttributes.
Example
PQL
Map Operator
output = MAP({
expressions = [
['auction_id * 5','AuctionMult5'],
'sqrt(auction_id)'
]
}, input)
CQL
Map Operator
SELECT auction_id * 5, sqrt(auction_id) FROM input