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 生成太多行的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Microsoft Azure 流分析上从多个设备中分离数据
Azure 流分析过滤多个输入列以输出到 SQL 表,卡在 5 个接收器的限制