Join - Example 2
Temperature and Pressure streams joining with active -passive [ 3 and 5 option for active -passive ]
Example
Again same IOT scenario, but we will limit to two streams for clarity. These two streams, namely temp and pressure will join with each other using active, passive rule (3, 5) where pressure stream is active stream and temp is passive one.
Let's define the schema first.
{
"schema":"myschema",
"streams":[
{
"name":"temp_stream",
"type":1,
"swsz":81600,
"inpt":[
],
"attr":[
{
"name":"temp",
"type":11
},
{
"name":"point",
"type":5,
"kysz":48,
"sidx":1,
"stat":1
}
],
"join":[
{
"name":"temp_pressure_join",
"type":3,
"tloc":3000,
"iatr":[
"temp",
"point"
],
"rstm":"pressure_stream",
"ratr":[
"pressure"
],
"jqry":{
"cond":[
"point"
],
"opid":11,
"args":[
"point"
]
},
"ostm":"temp_pressure_stream"
}
]
},
{
"name":"pressure_stream",
"type":1,
"inpt":[
],
"attr":[
{
"name":"pressure",
"type":11
},
{
"name":"point",
"type":5,
"kysz":48,
"sidx":1,
"stat":1
}
],
"join":[
{
"name":"temp_pressure_join",
"type":5,
"tloc":3000,
"ratr":[
"temp",
"point"
],
"rstm":"temp_stream",
"iatr":[
"pressure"
],
"jqry":{
"cond":[
"point"
],
"opid":11,
"args":[
"point"
]
},
"ostm":"temp_pressure_stream"
}
]
},
{
"name":"temp_pressure_stream",
"type":3,
"inpt":[
"temp_stream",
"pressure_stream"
],
"attr":[
{
"name":"point",
"type":5,
"kysz":48,
"sidx":1,
"stat":1
},
{
"name":"temp",
"type":11
},
{
"name":"pressure",
"type":11
}
]
}
]
}
Now pump data:
put [ temp_stream ] : {"temp":70.1, "point":1}
put [ pressure_stream ] : {"pressure":10.2, "point":2}
put [ pressure_stream ] : {"pressure":11.1, "point":1}
put [ pressure_stream ] : {"pressure":11.5, "point":1}
put [ pressure_stream ] : {"pressure":11.8, "point":1}
put [ temp_stream ] : {"temp":71.1, "point":2}
put [ pressure_stream ] : {"pressure":11.9, "point":1}
put [ pressure_stream ] : {"pressure":12.1, "point":2}
put [ temp_stream ] : {"temp":71.2, "point":1}
put [ pressure_stream ] : {"pressure":12.5, "point":1}
Here is the data for temp stream:
{
"temp":70.10000000000001,
"point":1,
"_pk":1584945351349346,
"_v":1
}
{
"temp":71.10000000000001,
"point":2,
"_pk":1584945351429690,
"_v":1
}
{
"temp":71.2,
"point":1,
"_pk":1584945351491986,
"_v":1
}
Here is the data for pressure stream:
{
"pressure":10.2,
"point":2,
"_pk":1584945351359800,
"_v":1
}
{
"pressure":11.1,
"point":1,
"_pk":1584945351372994,
"_v":1
}
{
"pressure":11.5,
"point":1,
"_pk":1584945351388063,
"_v":1
}
{
"pressure":11.8,
"point":1,
"_pk":1584945351399370,
"_v":1
}
{
"pressure":11.9,
"point":1,
"_pk":1584945351450466,
"_v":1
}
{
"pressure":12.1,
"point":2,
"_pk":1584945351461066,
"_v":1
}
{
"pressure":12.5,
"point":1,
"_pk":1584945351523036,
"_v":1
}
Here is the data for joined temp_pressure stream:
Here is the data in vibration stream:
{
"pressure":11.1,
"_pk":1584945351372994,
"temp":70.10000000000001,
"point":1,
"_jpk1":1584945351349346,
"_v":1
}
{
"pressure":11.5,
"_pk":1584945351388063,
"temp":70.10000000000001,
"point":1,
"_jpk1":1584945351349346,
"_v":1
}
{
"pressure":11.8,
"_pk":1584945351399370,
"temp":70.10000000000001,
"point":1,
"_jpk1":1584945351349346,
"_v":1
}
{
"pressure":11.9,
"_pk":1584945351450466,
"temp":70.10000000000001,
"point":1,
"_jpk1":1584945351349346,
"_v":1
}
{
"pressure":12.1,
"_pk":1584945351461066,
"temp":71.10000000000001,
"point":2,
"_jpk1":1584945351429690,
"_v":1
}
{
"pressure":12.5,
"_pk":1584945351523036,
"temp":71.2,
"point":1,
"_jpk1":1584945351491986,
"_v":1
}
Here are the data in temp_pressure stream:
{
"pressure":10.2,
"_pk":1584944534266887,
"temp":70.10000000000001,
"point":1,
"_jpk1":1584944534256620,
"_v":1
}
{
"temp":71.10000000000001,
"point":1,
"_pk":1584944534362863,
"pressure":11.1,
"_jpk1":1584944534280460,
"_v":1
}
{
"temp":71.2,
"point":1,
"_pk":1584944534396958,
"pressure":11.5,
"_jpk1":1584944534308709,
"_v":1
}
Here are the data in temp_pressure_vibration stream:
{
"vibration":30,
"_pk":1584944534296090,
"temp":70.10000000000001,
"pressure":10.2,
"point":1,
"_jpk1":1584944534266887,
"_v":1
}
{
"temp":71.10000000000001,
"pressure":11.1,
"point":1,
"_pk":1584944534362863,
"vibration":40,
"_jpk1":1584944534320131,
"_v":1
}
{
"temp":71.2,
"pressure":11.5,
"point":1,
"_pk":1584944534396958,
"vibration":50,
"_jpk1":1584944534384031,
"_v":1
}