流分析 - 将 window 中的多个单独记录传递到 UDF
Stream Analytics - Passing multiple, individual records within a window into a UDF
我想将一组 window 中的多个单独记录(可以翻滚、跳跃、滑动)传递到 javascript UDF 中,如下所示:
输入数据为:
{ "device":"A", "temp":20.0, "humidity":0.9, "param1": 83}
{ "device":"A", "temp":22.0, "humidity":0.9, "param1": 63}
{ "device":"B", "temp":15.0, "humidity":0.5, "param1": 13}
{ "device":"A", "temp":22.0, "humidity":0.5, "param1": 88}
{ "device":"A", "temp":22.0, "humidity":0.5, "param1": 88}
将指定window内的记录作为对象数组传递:
function process_records(record_array) {
//access individual records
record_one_device = records[0].device
record_two_device = records[1].device
record_three_device = records[2].device
...
}
感谢您的帮助!
根据您的要求,我假设您可以利用 Azure 流分析中的 Collect 聚合函数。这是我的测试,你可以参考一下:
输入
[
{
"Make": "Honda",
"Time": "2015-01-01T00:00:01.0000000Z",
"Weight": 1000
},
{
"Make": "Honda",
"Time": "2015-01-01T00:00:03.0000000Z",
"Weight": 3000
},
{
"Make": "Honda",
"Time": "2015-01-01T00:00:12.0000000Z",
"Weight": 2000
},
{
"Make": "Honda",
"Time": "2015-01-01T00:00:52.0000000Z",
"Weight": 1000
}
]
通过以下查询,我可以按如下方式检索时间 windows 中包含的数据:
SELECT
Make,
System.TimeStamp AS Time,
Collect() AS records
FROM
Input TIMESTAMP BY Time
GROUP BY
Make,
HoppingWindow(second, 10,10)
然后,您可以在查询中调用 UDF.processRecords(Collect())
。详情请参考common Stream Analytics usage patterns and Azure Stream Analytics UDF and Stream Analytics Window functions.
我想将一组 window 中的多个单独记录(可以翻滚、跳跃、滑动)传递到 javascript UDF 中,如下所示:
输入数据为:
{ "device":"A", "temp":20.0, "humidity":0.9, "param1": 83}
{ "device":"A", "temp":22.0, "humidity":0.9, "param1": 63}
{ "device":"B", "temp":15.0, "humidity":0.5, "param1": 13}
{ "device":"A", "temp":22.0, "humidity":0.5, "param1": 88}
{ "device":"A", "temp":22.0, "humidity":0.5, "param1": 88}
将指定window内的记录作为对象数组传递:
function process_records(record_array) {
//access individual records
record_one_device = records[0].device
record_two_device = records[1].device
record_three_device = records[2].device
...
}
感谢您的帮助!
根据您的要求,我假设您可以利用 Azure 流分析中的 Collect 聚合函数。这是我的测试,你可以参考一下:
输入
[
{
"Make": "Honda",
"Time": "2015-01-01T00:00:01.0000000Z",
"Weight": 1000
},
{
"Make": "Honda",
"Time": "2015-01-01T00:00:03.0000000Z",
"Weight": 3000
},
{
"Make": "Honda",
"Time": "2015-01-01T00:00:12.0000000Z",
"Weight": 2000
},
{
"Make": "Honda",
"Time": "2015-01-01T00:00:52.0000000Z",
"Weight": 1000
}
]
通过以下查询,我可以按如下方式检索时间 windows 中包含的数据:
SELECT
Make,
System.TimeStamp AS Time,
Collect() AS records
FROM
Input TIMESTAMP BY Time
GROUP BY
Make,
HoppingWindow(second, 10,10)
然后,您可以在查询中调用 UDF.processRecords(Collect())
。详情请参考common Stream Analytics usage patterns and Azure Stream Analytics UDF and Stream Analytics Window functions.