create (Function)
Function creates a map pairing the keys and their corresponding values.
Syntax
<OBJECT> map:create()
<OBJECT> map:create(<OBJECT|INT|LONG|FLOAT|DOUBLE|FLOAT|BOOL|STRING> key1, <OBJECT|INT|LONG|FLOAT|DOUBLE|FLOAT|BOOL|STRING> value1)
<OBJECT> map:create(<OBJECT|INT|LONG|FLOAT|DOUBLE|FLOAT|BOOL|STRING> key1, <OBJECT|INT|LONG|FLOAT|DOUBLE|FLOAT|BOOL|STRING> value1, <OBJECT|INT|LONG|FLOAT|DOUBLE|FLOAT|BOOL|STRING> ...)
Query Parameters
Name | Description | Default Value | Possible Data Types | Optional | Dynamic |
---|---|---|---|---|---|
key1 | Key 1 | - | OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING | Yes | Yes |
value1 | Value 1 | - | OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING | Yes | Yes |
Example 1
map:create(1, 'one', 2, 'two', 3, 'three')
In this example, the map:create(1, 'one', 2, 'two', 3, 'three')
function is used to create a new map. The function takes an even number of arguments where each pair of arguments represents a key-value pair. Here, the keys 1
, 2
, and 3
are mapped to their corresponding values, one
, two
, and three
. This results in a map {1='one', 2='two', 3='three'}
.
Example 2
map:create()
In this example, the map:create()
function is used without any arguments. This results in the creation of an empty map {}
.
Example 3
CREATE STREAM InputDataStream (id string, key1 string, value1 string, key2 string, value2 string);
CREATE SINK STREAM OutputMapStream (id string, mappedData object);
@info(name = 'MapCreation')
INSERT INTO OutputMapStream
SELECT id, map:create(key1, value1, key2, value2) AS mappedData
FROM InputDataStream WINDOW SLIDING_LENGTH(1);
In this example, the InputDataStream
stream is modified to include individual keys and values instead of a single keyValuePairs
string. A stream worker named MapCreation
uses the input from InputDataStream
, which includes an identifier (id
) and individual keys and values (key1
, value1
, key2
, value2
).
The query uses the map:create(key1, value1, key2, value2)
function to create a new map from the provided key-value pairs. This new map, along with the identifier, is inserted into OutputMapStream
.