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

Kafka streams窗口批处理

喻子航
2023-03-14

来自火花流背景-掌握Kafka流。

我有一个简单的Spark流媒体应用程序,

返回该分钟内每个用户的最新事件

示例事件类似于{“user”:1,“timestamp”:“2018-05-18t16:56:30.754z”,“count”:3},{“user”:1,“timestamp”:“2018-05-22t16:56:39.754z”,“count”:4}

我感兴趣的是这将如何在Kafka流中工作,因为似乎每个事件都有一个输出--当我的用例是减少流量时。

从我到目前为止的阅读来看,这似乎不是直接的,您将不得不使用处理器API。

理想情况下,我希望使用DSL而不是处理器API,因为我刚刚开始研究Kafka流,但似乎我必须使用处理器API的punctuate方法每隔n秒从状态存储读取一次?

我用的是Kafka0.11.0

共有1个答案

冯亮
2023-03-14

在DSL级别,Kafka Streams允许配置KTable缓存(默认情况下启用),以减少下游负载。缓存是定期刷新的LRU缓存。因此,虽然缓存减少了下游负载,但它不能保证每个窗口有多少输出。(比照https://docs.confluent.io/current/streams/developer-guide/memory-mgmt.html

如果您严格地需要每个窗口的单个输出,那么使用处理器API是正确的方法。

 类似资料:
  • 我无法在窗口之间切换。打开弹出窗口时光标被击中。无法再前进了。测试案例:打开URL:http://voltaerp.cloudapp.net/VomsDemoV2/点击查询选项卡,然后点击子菜单项“国外查询”。这将把用户重定向到国外查询页面。现在单击绿色加号从弹出菜单中选择一个项目。我到现在都很好。一旦窗口打开,代码就会被卡住。无法读取弹出窗口的ID或将驱动程序切换到弹出窗口,以便我可以选择任何项

  • 我想运行一个批处理文件A,它调用/启动另一个批处理文件B,后者打开一个新的cmd窗口。然后,我想在这个新的cmd窗口中运行一个用户定义的命令。这个命令只有在运行文件B之后或者在这个新的cmd-window中才能被识别,但是命令本身的调用应该是写在文件A中的(文件B是设置好的,不能更改)。我该怎么做? 就我所理解的行为而言,我不能访问由另一个批处理文件打开的cmd窗口。我写了一个简单的测试用例来向你

  • 我正在运行一个包含以下两行的批处理文件: 这个批处理文件用于运行Xming应用程序,然后运行PuTTY应用程序,这样我就可以通过SSH进入我大学的计算机实验室。 但是,如果我运行此程序并且Xming尚未打开,则一旦我退出PuTTY终端,cmd窗口将保持打开状态。只有当我已经运行Xming时,cmd窗口才会在我关闭PuTTY终端时关闭。我尝试将添加到批处理文件的最后一行,但无济于事。

  • 问题内容: 我需要使用Java或基于Javascript的自动化解决方案来操纵IE浏览器的“弹出窗口和下载对话框”。 我尝试了selenium2,但是它不能正常工作,因此其他建议也一样。实际上selenium2没有提供警报/下载对话框的正确处理,因此我正在考虑使用其他一些javascript / java解决方案。 使用“下载对话框”:我需要将下载的文件保存到特定位置。使用“警报对话框”:我需要检

  • 问题内容: 我遇到的一种情况是,单击链接网页会打开一个弹出窗口。并且在弹出窗口打开之后,焦点位于弹出窗口中,并且主窗口被禁用。而且我无法将控件转移到弹出窗口。请看下面的代码。 我无法将控件从父窗口转移到弹出窗口。我知道以下命令。 但是它没有太大帮助。请帮我。 问题答案: 当我需要使用以下弹出窗口,关闭它并返回主窗口时,这是我使用的代码。当然,出于此答案的目的已对其进行了简化。它维护原始窗口(主窗口

  • 标题说明了一切:我想用命令启动cmd窗口,但我想隐藏窗口 这就是我想要的,但是cmd窗口仍然是打开的,关闭后我也结束了这个命令。我想在后台运行cmd.exe。可能吗?