Azure 流分析 - 跨多个数据集识别公共数据

Azure Stream Analytics - Identify common data across the multiple data sets

我正在使用 Azure 事件中心从多个源捕获数据并发送到 Azure 流分析。这些来源有一些共同的数据点。 例如:

如何识别这些多个数据集中的公共数据?

我了解在单个事件中心中摄取多个源?我想有一个 SourceId 字段可以识别数据点的来源?

如果是这样,你可以在它们之间使用Common Table Expressions (WITH) to scope these sources, and join

WITH 
  SourceA AS (
    SELECT * FROM Input WHERE SourceId = 'A'
  ),
  SourceB AS (
    SELECT * FROM Input WHERE SourceId = 'B'
  )

SELECT
  A.*,
  B.*
FROM A
LEFT JOIN B 
  ON A.[Pnr NO] = B.[Pnr NO]
  AND DATEDIFF(second,A,B) BETWEEN 0 AND 60

请注意,这不是通用模式。它解决了一个特定的业务问题,我们需要在 B (FROM A LEFT JOIN B) 中找到 A 的匹配事件,该事件发生在接下来的 60 秒 (DATEDIFF(second,A,B) BETWEEN 0 AND 60).

应该使用 lots of different patterns to apply here depending on the specific scenario you are building for. For some, analytics functions (like last) 而不是联接。

如果你详细说明你的需要,我也许能找到合适的模式。