流分析从历史记录中获取 1 年的平均值
Stream analytics getting average for 1 year from history
我有流分析工作
输入:
1) "InputStreamCSV" - 链接到事件中心和接收数据。 InputStreamHistory
2) "InputStreamHistory" - 输入流链接 BlobStorage。 InputStreamCSV
输出:
1) "AlertOUT" - 链接到 table 存储并将警报事件作为行插入 table
我想计算 2018 年所有交易的平均金额(一个数字 - 5,2)并将其与 2019 年即将到来的交易进行比较:
如果新交易金额大于平均值 - 将该交易放入 "AlertOUT" 输出。
我计算平均值为:
SELECT AVG(Amount) AS TresholdAmount
FROM InputStreamHistory
group by TumblingWindow(minute, 1)
接收新交易为:
SELECT * INTO AlertOUT FROM InputStreamCSV TIMESTAMP BY EventTime
我如何结合这 2 个查询来检查新交易金额是否大于去年的平均交易金额?
如果要将去年的平均值与当前流进行比较,最好使用参考数据。使用 asa 本身或存储 blob 的不同查询引擎计算 2018 年的平均值。之后,您可以将 blob 用作查询中的参考数据 - 它将替换示例中的平均计算。
之后,您可以使用 inputStreamCsv
进行参考数据连接以生成警报。
即使您想偶尔更新一次平均值,上述模式也行得通。根据刷新频率,您可以使用另一个作为作业或批处理分析解决方案。
请在 ASA sql 中使用 JOIN 运算符,您可以参考下面 sql 尝试组合 2 个查询 sql.
WITH
t2 AS
(
SELECT AVG(Amount) AS TresholdAmount
FROM jsoninput2
group by TumblingWindow(minute, 1)
)
select t2.TresholdAmount
from jsoninput t1 TIMESTAMP BY EntryTime
JOIN t2
ON DATEDIFF(minute,t1,t2) BETWEEN 0 AND 5
where t1.Amount > t2.TresholdAmount
如果历史数据稳定,也可以加入历史数据为reference data.Please refer to official sample。
我有流分析工作 输入:
1) "InputStreamCSV" - 链接到事件中心和接收数据。 InputStreamHistory
2) "InputStreamHistory" - 输入流链接 BlobStorage。 InputStreamCSV
输出:
1) "AlertOUT" - 链接到 table 存储并将警报事件作为行插入 table
我想计算 2018 年所有交易的平均金额(一个数字 - 5,2)并将其与 2019 年即将到来的交易进行比较:
如果新交易金额大于平均值 - 将该交易放入 "AlertOUT" 输出。
我计算平均值为:
SELECT AVG(Amount) AS TresholdAmount
FROM InputStreamHistory
group by TumblingWindow(minute, 1)
接收新交易为:
SELECT * INTO AlertOUT FROM InputStreamCSV TIMESTAMP BY EventTime
我如何结合这 2 个查询来检查新交易金额是否大于去年的平均交易金额?
如果要将去年的平均值与当前流进行比较,最好使用参考数据。使用 asa 本身或存储 blob 的不同查询引擎计算 2018 年的平均值。之后,您可以将 blob 用作查询中的参考数据 - 它将替换示例中的平均计算。
之后,您可以使用 inputStreamCsv
进行参考数据连接以生成警报。
即使您想偶尔更新一次平均值,上述模式也行得通。根据刷新频率,您可以使用另一个作为作业或批处理分析解决方案。
请在 ASA sql 中使用 JOIN 运算符,您可以参考下面 sql 尝试组合 2 个查询 sql.
WITH
t2 AS
(
SELECT AVG(Amount) AS TresholdAmount
FROM jsoninput2
group by TumblingWindow(minute, 1)
)
select t2.TresholdAmount
from jsoninput t1 TIMESTAMP BY EntryTime
JOIN t2
ON DATEDIFF(minute,t1,t2) BETWEEN 0 AND 5
where t1.Amount > t2.TresholdAmount
如果历史数据稳定,也可以加入历史数据为reference data.Please refer to official sample。