我有一个事件中心和一个流分析作业将数据发送到Power BI。我想知道什么是配置事件中心/资产跟踪的最佳方式?
例如,我有多个客户端发送到事件中心 - >流分析工作,我希望能够确定具有特定ID的客户端是否脱机?
干杯!
答案 0 :(得分:0)
如果ID列表是相对静态的,那么您可以使用引用数据连接来输出每个时间窗口中缺少的所有ID。
如果要从流本身推断ID,并且想要检测当前窗口中活动的ID在当前窗口中何时不活动,则可以使用流连接。这是一个例子
with MissingAssets as
(
select
PreviousWindowSignal.signalTime,
PreviousWindowSignal.AssetId
from
AssetSignalStream PreviousWindowSignal Timestamp by signalTime
left outer join
AssetSignalStream CurrentWindowSignal Timestamp by signalTime
on
PreviousWindowSignal.AssetId = CurrentWindowSignal.AssetId
and datediff(second,PreviousWindowSignal,CurrentWindowSignal) between 1 and 300
where
CurrentWindowSignal.AssetId is null
)
select
AssetId,
max(signalTime) MostRecentSignalInWindow
from
MissingAssets
group by
AssetId,
TumblingWindow(ss,300)