我有一个事件中心和一个将数据发送到 Power BI 的流分析作业。我想知道配置事件中心/资产跟踪的最佳方式是什么?
例如,我有多个客户端发送到事件中心 -> 流分析作业,我希望能够确定具有特定 ID 的客户端是否离线?
干杯!
我有一个事件中心和一个将数据发送到 Power BI 的流分析作业。我想知道配置事件中心/资产跟踪的最佳方式是什么?
例如,我有多个客户端发送到事件中心 -> 流分析作业,我希望能够确定具有特定 ID 的客户端是否离线?
干杯!
如果 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)