当前位置: 首页 > 知识库问答 >
问题:

Spark structured streaming在附加模式下显示结果太晚

劳夕
2023-03-14

在https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#handing-lat-data-and-watermarking的文档中,显示了一个使用10分钟窗口、10分钟水印和5分钟触发器的示例。

在使用追加模式时的关系图中,12:00:00->12:10:00窗口的第一个结果仅显示在12:25:00。原因是当时的水印是在12:11:00,所以12:11:00之前的所有窗口都已经可以发送到sink了。

但是,在12:20:00,我们已经知道水印是12:11:00。那么为什么第一个窗口不是在12:20:00发出,而是在12:25:00发出呢?

共有1个答案

温举
2023-03-14

因为Spark应用全局水印而不是每个分区的水印:下一批的水印是在当前批中的任务“完成”时决定的。每个分区都没有决定水印的概念:它只知道其分区中的事件。

所以在12:20:00,Spark得到12:21:00并对其进行处理,在批处理结束时,Spark收集事件的时间戳并确定最大时间戳,并决定下一批的水印--“12:11:00”--这将是批处理12:25:00的水印。

 类似资料:
  • 问题内容: 我有一个简单的jquery代码,用ajax在jQuery模态窗口中发送内容!一切正常,没有任何问题。通常,单击发送按钮后,此代码会在1-2秒后显示结果, 我的问题是,如何在单击“发送”之后显示结果之前添加并显示加载图片? 问题答案: 您可以通过 和 要么

  • 问题内容: 我有一个以全屏模式运行的应用程序,并且运行良好。现在,我需要添加一个简单的,未修饰的对话框,我遇到了麻烦。如果我 最大化 而不是全屏运行该应用程序,则对话框将按预期方式显示和运行。当我切换回全屏模式时,该对话框将不会显示。 该对话框扩展了JDialog,仅包含一个JSlider和几个按钮。它是未经装饰的, 不是模态的 。(我出于测试目的禁用了模式- 每次对话框阻止输入时强制退出应用程序

  • 问题内容: 我以为Python交互模式下的显示总是等效的,但是事实并非如此。这是语言功能还是我缺少什么?谢谢 问题答案: 是的,此行为是故意的。 来自Python文档 7.1。表达陈述 Expression语句(通常是交互式地)用于计算和写入值,或(通常)用于调用过程(一个不返回有意义结果的函数;在Python中,过程返回value )。表达式语句的其他用法是允许的,有时是有用的。表达式语句的语法

  • 显示模式 返回上级 关于显示模式 测定支持的显示模式 设置显示模式 恢复显示模式 Mode X和Mode 13显示模式 对高分辨率和真彩色的支持 关于显示模式 返回目录 显示模式指的是显示器的当前设置,描述了显示器的分辨率和位深度,这个信息通常是由显示硬件从主页面传递给显示器的。显示模式是由三个特征定义的:宽、高、位深度。例如,大多数的显示器可以显示宽为640像素、高为480像素的图象,每一个像素

  • 问题内容: 这是我的问题:我需要存储 很多 日志消息,并认为将其保存在SQLite3数据库中以能够轻松搜索和过滤它是明智的。 我将在标准列表窗口小部件(使用wxWidgets)中显示日志消息。该列表将包含几列,用户可以对其进行排序和过滤。 现在,我不确定什么是最好的处理方式。我正在考虑一些可能的解决方案: 将所有消息读取到内存。当有新的或更改的日志消息时(在列表中的任意位置),必须刷新整个列表。当

  • 我正在使用基于Laravel和Twig的OctoberCMS。 十月有一个范围分页功能,但它缺乏我需要的功能,所以我必须使用Laravel返回结果和分页。 我有一个厨房分类和图像数据库记录。 我试图从URL中获取标识符,以过滤回数据库结果。 问题 代码返回自然图像并显示分页。但是当我点击一个页码时,url会变成或,但页面按钮停留在上,记录/图像不会更改。 这就像php在下一页重置,并再次显示第1页