Azure 流分析:多个 Windows JOIN 生成太多行

Posted

技术标签:

【中文标题】Azure 流分析:多个 Windows JOIN 生成太多行【英文标题】:Azure Stream Analytics: Multiple Windows JOIN generates too many rows 【发布时间】:2018-05-19 20:01:22 【问题描述】:

我在多个 Windows 上进行多项计算。 每个窗口都是每秒输出的跳跃窗口(当然窗口持续时间不同)。

然后我只有一个输出查询将我的 5 个窗口与每个连接窗口的 DATEDIFF(second, a, b) BETWEEN 0 AND 1 连接起来。

问题是这个查询生成的行数比输入的多,但它应该生成相同的数量。 (输入 8 行,查询 4002 行)

我在文档中找不到任何关于此行为的内容。

更新 1:

我发现减小 JOIN DATEDIFF 范围,我的事件更少。

在我的所有查询中使用 0-50ms 的范围时,我有 17 个事件,但在将它们与 8 个输入事件进行比较时,它们包含一些事件的重复项并且不包括所有事件,因此数据不完整.

我的查询步骤是这样的:

Window_N -> Stats_Window_N (SELECT FROM Window_N JOIN Window_N) -> All_Stats (SELECT FROM Window_N JOIN All Other Windows)

全部使用相同的 DATEDIFF 范围。

【问题讨论】:

【参考方案1】:

加入条件中有什么?当连接没有预期的 ON 子句时,让我想起笛卡尔积。

你能提供一些字面语法吗?抽象地谈论它可能太难掌握了。

谢谢,杰森

【讨论】:

请看这个问题:***.com/questions/50477145/… 谢谢!

以上是关于Azure 流分析:多个 Windows JOIN 生成太多行的主要内容,如果未能解决你的问题,请参考以下文章

流分析:对事件和参考执行 JOIN。 JSON 格式的数据

Azure 流分析:如何使用两个 Azure 机器学习函数

如何在 Microsoft Azure 流分析上从多个设备中分离数据

Azure 流分析过滤多个输入列以输出到 SQL 表,卡在 5 个接收器的限制

Windows IoT、IoT 中心、流分析、Azure SQL、Power BI - 啥是正确的路径? [关闭]

Azure 流分析时间窗口查询