Azure 流分析:如果作业查询是按天计算的 TUMBLINGWINDOW,流分析作业何时实际处理数据?

2024-05-05

Context

我使用 Azure 门户创建了一个流作业,该作业使用每日 TUMBLINGWINDOW 聚合数据。下面附加了一个从文档修改而来的代码片段,它显示了类似的逻辑。

SELECT
    DATEADD(day, -1, System.Timestamp()) AS WindowStart
    System.Timestamp() AS WindowEnd, 
    TollId, 
    COUNT(*)
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TumblingWindow(day, 1), TollId

Question

如果 TUMBLINGWINDOW 在窗口末尾输出 (如果我在任何一天的午夜开始工作,则意味着第二天的午夜过后不久)那么白天数据是否仍在处理中,还是仅根据查询输出的时间进行处理?

如果能详细解释一下这是如何工作的那就太好了。还没有找到任何真正详细解释这些概念的文档(带有这些边缘情况)

Thoughts

我正在尝试衡量如果我停止一个作业的运行并从“上次停止时”重新启动它,它是否仍然会导致相同的聚合,就好像我一直将其保持打开状态一样(如果会那么如何)?请记住我正在使用日常的 TUMBLINGWINDOW?


滚动窗口的输出时间是绝对的,并且不依赖于查询开始时间。每日滚动窗口在 00:00:00AM 生成输出,每小时生成一个输出(00:00:00AM、01:00:00AM...)等。

所以这里的作业等待 24 小时,耐心地将数据加载到内存中,直到凌晨 00:00,以便它可以执行计算并输出结果。然后它又开始等待。

在这里,通过每日窗口,没有什么可以阻止您从上午 00:01 到下午 23:59 停止作业。

(编辑 - 这不正确 - 已修复如下) 请注意,当您启动它时,开始时间选项 https://learn.microsoft.com/en-us/azure/stream-analytics/start-job#start-options需要覆盖缺失的时间(因此要么是“上次开始时”——因为我们检查点数据——要么是 24 小时前的自定义时间)。

(更正)请注意,当您启动它时,开始时间选项 https://learn.microsoft.com/en-us/azure/stream-analytics/start-job#start-options需要覆盖您想要覆盖的输出窗口 - ASA 将重新加载所有必要的数据,即使是在该时间之前。你用开始时间驱动的是输出时间,而不是数据输入周期。

只要数据仍然存在(请注意事件中心的保留期,默认为 1 天),您可以暂停整整一周,并让作业重新处理整个期间以发出 7 个结果。为此,您只需要一个涵盖该时间段的开始时间。

请注意,重新摄取整个数据集并计算其操作需要时间。因此,如果您绝对需要每日平均值在上午 00:00:00 输出,请提前几分钟重新启动作业,以便它可以赶上。否则,您将在 00:00:10AM(或者将数据重新加载到内存中所需的任何时间)获得该输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure 流分析:如果作业查询是按天计算的 TUMBLINGWINDOW,流分析作业何时实际处理数据? 的相关文章

  • 使用 Adal 代表用户访问 Azure KeyVault

    以下是控制台应用程序和 ClientID RedirectUri 来自 azure Active Directory 中创建的本机应用程序 var authContext new AuthenticationContext string F
  • Azure 共享计划上的 SSL?

    我有 1 个网站 1 个数据库和 1 个 SSL 托管在 azure 上 我曾经拥有 基本 托管套餐 但每个月要支付 70 美元才能获得基本设置 并且所有内容都具有最小的缩放比例 我意识到我的低流量站点不需要专用计算机 因此我尝试转向共享计
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • SqlCommand.Dispose() 在 SqlTransaction.Commit() 之前?

    在提交事务之前处理分配给事务的命令是否有效 我自己测试了以下代码 它似乎工作得很好 但这是一个相当小的例子 所以我正在寻找是否有人确实知道的确认 internal static void TestTransaction try Progra
  • 在 Azure 表存储中存储应用程序日志的策略

    我要确定一个在 Azure 表存储中存储日志信息的好策略 我有以下内容 分区键 日志的名称 RowKey 反转日期时间刻度 这里唯一的问题是分区可能会变得非常大 数百万个实体 并且大小会随着时间的推移而增加 但话虽这么说 正在执行的查询类型
  • MS Teams 应用程序:访问此应用程序时出现问题

    The users on MS Teams desktop reported multiple issues with our MS Teams app They see the following error on MS Teams De
  • 重用 t-sql 游标的起始位置?

    我正在开发一个在临时表上使用游标的存储过程 我已经阅读了一些关于为什么不需要游标的内容 但在这种情况下我相信我仍然需要使用游标 在我的过程中 我需要遍历表的行两次 声明游标后 已经单步执行临时表并关闭游标 重新打开时游标的位置是否仍保留在表
  • 本地测试 Azure Active Directory 安全性

    我在 Azure 上部署了一个 Web 应用程序 并启用了 Azure Active Directory 安全性 快速设置 因此 当我尝试访问该应用程序时 我需要成为 AD 的一部分才能访问 我想向应用程序添加更多功能 例如显示当前登录的用
  • cosmosdb 模拟器没有给出任何结果

    我不知道为什么在查询宇宙数据库时会发生这种情况 它不会显示任何文档 即使是 SELECT FROM c 但显示了 RU 但它与文档选项卡中的文档选项卡配合得很好 如果我使用任何过滤器 那么它也可以工作 但它不适用于 SQL 查询 我已经添加
  • SQL Server:当列为 NTEXT 时 IN('asd') 不起作用

    我该如何解决这个问题 where someNtext IN asd asd1 给出错误 消息 402 第 16 层 状态 1 第 XXXXX 行数据类型 ntext 和 varchar 在等于运算符中不兼容 An INlist 只是 OR
  • 如果存在多个相同的 ID,则使用 where 子句

    我有下表 ID source Name Age 1 SQL John 18 2 SAP Mike 21 2 SQL Mike 20 3 SAP Jill 25 我希望每个ID都有一条记录 这背后的想法是 如果 ID 仅出现一次 无论来源如何
  • Azure 网站和有状态 WebApp

    我有一个 PokerApp 的简单版本作为 Azure 网站运行 服务器在内存中存储牌桌的状态 轮到谁 盲注值 牌 等 这里的问题是我不知道我可以在多大程度上依赖WebServer的内存来实现 永久 简单地重新启动服务器就会导致内存丢失 因
  • Azure 时区和 javascriptserializer 对象

    我有一个基于预测的应用程序 位于 Windows Azure 上 http ipredikt com http ipredikt com 据我所知 Azure 的时钟已与 GMT 时区同步 这是我遇到的一个问题 假设我有一个名为 Creat
  • Azure 网站服务器时区数据错误

    我来自俄罗斯 1 5 天前 10 月 26 日凌晨 2 点 我们的时区 好吧 我们时区的偏移量 发生了变化 从 UTC 4 变为 UTC 3 请不要问为什么现在 政府已经退出了 但它改变了 我家的Win 8 1机器自动更新 但我的 Azur
  • 在 SQL Server 中获取一周的第一天

    我试图按周对记录进行分组 将聚合日期存储为一周的第一天 然而 我用于四舍五入日期的标准技术似乎无法在几周内正常工作 尽管它可以在天 月 年 季度和我应用的任何其他时间范围内正常工作 这是 SQL select start of week d
  • 容器中的 WordPress - 加载某些图像时出现 502

    我已使用容器将 WordPress 部署在 Azure AppService 中 使用 Azure 容器注册表 使用的图像来自 docker hub gt wordpress latest 我还启用了 settings WEBSITES E
  • 指定的CGI应用程序遇到错误,服务器终止了进程

    我在 azure 上托管一个 asp net 5 应用程序 代码是为 beta8 编译的 该应用程序在本地环境以及当我在 azure 网站上发布代码时运行良好 我收到一个常见错误 指定的 CGI 应用程序遇到错误 服务器终止了该进程 我能够
  • 哪个 SQL 查询返回每个唯一 A 列的具有最新日期和时间(B 列和 C 列)的行?

    哪个 SQL 查询返回每个唯一 A 列的具有最新日期和时间 B 列和 C 列 的行 If C实际上是一个datetime带日期的列and设置时间信息 可以 select a max c from table group by a If B
  • Azure Functions 门户错误 - 函数运行时无法启动

    我有一个 VS 2017 C 开发的 Azure Function App 使用 VS 2017 发布机制部署在消费计划上 所有功能均由定时器或服务总线触发 我在 Azure 门户中看到运行状态 并且功能似乎正在运行 例如将行写入 SQL
  • 通过 R 连接到 Azure SQL

    下面的代码允许我通过 R 连接到 Azure SQL 服务器 但是 我只能访问 主 数据库 而不能访问我在下面创建的两个数据库 表格显示为空白 有什么想法吗 谢谢 library RODBC library dplyr library DB

随机推荐