- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在阅读有关如何将 TUMBLINGWINDOW 函数与 TIMSTAMP BY 子句一起使用的文档,但似乎找不到有关如何计算包含 TUMBLING WINDOW 和 TIMESTAMP BY 字段的查询的开始日期的明确解释(如果它存在于某个地方,那么一定是错过了)。
以下是我一直在查看的文档的链接:
我在 TUMBLING WINDOW LINK 中的“时间考虑因素”部分下面引用(这是引起我的问题的主要来源)
Time Consideration
"Every window operation outputs event at the end of the window. The windows of Azure Stream Analytics are opened at the window start time and closed at the window end time. For example, if you have a 5 minute window from 12:00 AM to 12:05 AM all events with timestamp greater than 12:00 AM and up to timestamp 12:05 AM inclusive will be included within this window. The output of the window will be a single event based on the aggregate function used with a timestamp equal to the window end time. The timestamp of the output event of the window can be projected in the SELECT statement using the System.Timestamp() property using an alias."
它提到了 5 分钟的窗口,但似乎没有详细说明为什么此时启动 5 分钟的窗口,以及最重要的是这将如何概括。
注意:我知道这一点可能超出了本文档的范围,但我也没有在其他地方找到对此的明确解释。
假设我有以下代码(从文档复制并进行了少量修改)
SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TumblingWindow(Duration(day, 1)), TollId
到目前为止,我一直假设我在 TIMESTAMP BY 子句中选择的任何字段(例如上面代码片段中的 EntryTime)都会定义创建窗口的字段,然后取决于所选的 TUMBLINGWINDOW 函数参数(例如上面的代码片段中的按天计算)将处理所选时间戳字段如何“加窗”或切片。然后,流分析将根据作业开始时源时间字段中存在的最早日期来处理窗口创建(例如,即使我在 2022 年 2 月 22 日 T09:00:00 UTC 开始作业,如果数据存在)对于 2022-02-21 天,那么查询将输出该天的数据 2022-02-21T00:00:00 UTC 到 2022-02-22T00:00:00 UTC,因为此时已经过去了,并且当前窗口(2022-02-22T00:00:00 到 2022-02-23T00:00:00)将在该窗口完成后填充。
最佳答案
Every window operation outputs event at the end of the window. The windows of Azure Stream Analytics are opened at the window start time and closed at the window end time. For example, if you have a 5 minute window from 12:00 AM to 12:05 AM all events with timestamp greater than 12:00 AM and up to timestamp 12:05 AM inclusive will be included within this window. The output of the window will be a single event based on the aggregate function used with a timestamp equal to the window end time. The timestamp of the output event of the window can be projected in the SELECT statement using the System.Timestamp() property using an alias. Every window automatically aligns itself to the zeroth hour. For example, a 5 minute tumbling window will align itself to (12:00-12:05] , (12:05-12:10], ..., and so on.
如果您有想要输出的历史数据,您可以将自定义查询开始时间设置为流媒体源的最大缓存(通常为 7 天)之前的任意点,或者设置为查询上次停止的时间点,这样您就不会在维护时段内丢失任何数据。
但是,查询将仅输出时间戳晚于查询开始时间的数据。
因此,假设您的第一个数据的时间戳为 2022-02-20 01:23:00
,第二个数据的时间戳为 2022-02-21 15:08:00
。您于 2022-02-21 14:00:00
开始流式传输作业,因此您的 10 分钟窗口以 21 日午夜为基础,然后从那里开始在 10 分钟窗口中进行。在 21 日的 15:00 - 15:10
窗口之前,查询不会输出任何内容,因为这是第一个发布查询开始时间并包含数据的窗口。在这种情况下,您可以了解窗口的工作原理以及为什么不会输出带有 2022-02-20 01:23:00
时间戳的数据。
关于azure - 流分析:When using a TUMBLING WINDOW is the start time of the window start based on the earliest time in the stream or start time of the job?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71227679/
我正在尝试实现具有以下签名的方法: public static Pair, Stream> flatten(Iterator, Stream>> iterator); 该方法的目标是将每种流类型展平
我有两个流从两个不同的 api 获取。 Stream get monthOutStream => monthOutController.stream; Stream get resultOutStre
Stream.of(int[])返回 Stream ,而 Stream.of(String[])返回 Stream . 为什么这两种方法的行为不同?两者都应该返回 Stream和 Stream或 St
我正在使用 rxdart在 dart 中处理流的包。我被困在处理一个特殊的问题上。 请看一下这个虚拟代码: final userId = BehaviorSubject(); Stream getSt
我到处都找遍了,还是没弄明白。我知道你可以用流建立两个关联: 用于支持数据存储的包装器意味着作为消费者和供应商之间的抽象层 数据随着时间的推移变得可用,而不是一次全部 SIMD 代表单指令,多数据;在
考虑下面的代码: List l=new ArrayList<>(); l.add(23);l.add(45);l.add(90); Stream str=l.stream
我有一个大型主干/requirejs 应用程序,我想迁移到 webpack,最新的“webpack”:“^4.27.1”,但我遇到了一个我无法解决的错误。 我一直在阅读 https://webpack
我正在使用 xmpp 开发聊天应用程序,根据我们的要求,我们有三台服务器 Apache Tomcat 7、ejabbered 2.1.11 和 mysql 5.5, to run xmppbot on
我知道如何使用 Java 库,并且我可以编写一些循环来执行我需要的操作,但问题更多,为什么 scala.collection.JavaConverters 中没有任何内容或scala.collecti
我正在尝试创建一个单一的衬里,它应该计算一个非常长的文本文件中的唯一单词。独特的词例如:márya fëdorovna scarlet-liveried,...所以基本上都是非英语词。 我的问题是我的
如果我有以下情况: StreamWriter MySW = null; try { Stream MyStream = new FileStream("asdf.txt"); MySW =
有人可以帮我将以下语句转换为 Java8: 我有一个像这样的 HashMap : private Map, List>> someMap; 我想在java8中转换以下逻辑: private Strin
有人可以帮我将以下语句转换为 Java8: 我有一个像这样的 HashMap : private Map, List>> someMap; 我想在java8中转换以下逻辑: private Strin
考虑两种测试方法parallel()和sequential(): @Test public void parallel() throws Exception { System.ou
我是 NodeJS 的新手,我基本上想做的是通过 HTTP 将 .pdf 上传到我的服务器。我正在使用 POST rquest 来处理 Content-Type multipart/form-data
哪个更好:MemoryStream.WriteTo(Stream destinationStream) 或 Stream.CopyTo(Stream destinationStream)?? 我正在谈
给定一个 Stream,我想创建一个新的 Stream,其中的元素在它们之间有时间延迟。 我尝试使用 tokio_core::reactor::Timeout 和 Stream 的 and_then
我是 Kafka Streams 和 Spring Cloud Stream 的新手,但在将集成相关代码移动到属性文件方面已经阅读了有关它的好东西,因此开发人员可以主要专注于事物的业务逻辑方面。 这里
源代码看起来非常相似:pump , pipe .为什么我要使用一个而不是另一个?一个只是另一个的更好版本吗? 最佳答案 Stream.pipe 现在显然是自 0.3.x 以来的首选方法,因此尽可能尝试
我正在寻找是否有更好的方法来解决我不得不使用这些签名的困境(注意:由于 Spock 测试,T[][] 是必需的,我提供 T[][] 作为数据提供商) 我的方法签名是: public T[][] cr
我是一名优秀的程序员,十分优秀!