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

Window不评估来自Kafka源的元素

漆雕唯
2023-03-14

我认为我对Flink窗口的理解可能是错误的,因为它们没有像我期望的那样从文档或Flink书中进行评估。目标是将具有相当静态数据的Kafka主题与具有不断传入数据的Kafka主题连接起来。

env.addSource(createKafkaConsumer())
        .join(env.addSource((createKafkaConsumer()))))
        .where(keySelector())
        .equalTo(keySelector())
        .window(TumblingProcessingTimeWindows.of(Time.hours(2)))
        .apply(new RichJoinFunction<A, B>() { ... }

createKafkaConsumer()返回FlinkKafkaConsumer

keyselector()是我的键选择器的占位符。

我的关键问题:

这里到底发生了什么?是否在窗口完成处理后发出记录?我希望有一个实时输出到水槽,但这将解释很多。

与此相关的是:我可以用onElement触发器处理这个问题吗?或者这会使我的时间窗口过时吗?这两个概念是否并行存在,即连接窗口是2小时,但连接函数+输出是每个元素触发的?那件案子的复制品怎么样?

其他信息:env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime);已设置,在此期间我还切换到EventTime。

共有1个答案

戚繁
2023-03-14

滚动处理时间窗口的语义是它处理落入给定时间范围内的所有事件。在你的情况下,是2小时。默认情况下,窗口只会在2小时结束后输出结果,因为它需要知道该窗口没有其他事件。

如果您希望输出早期结果(例如,针对每个传入记录),那么您可以指定一个自定义的触发器来激发每个元素。有关这方面的更多信息,请参阅触发器API文档。

窗口时间不是从第一个元素开始,而是从窗口长度的倍数开始。例如,如果窗口大小为2小时,则只能有窗口[0,2),[2,4),...而不能有[1,3),[3,5)

 类似资料:
  • 使用Network(网络)面板评估网站的网络性能。 Network(网络)面板记录在页面上有关每个网络操作的信息,包括详细的时序数据,HTTP请求和响应头,Cookie等。 TL;DR 使用Network(网络)面板记录和分析网络活动。 以聚合(所有类型)或单个资源类型查看负载信息。 过滤和排序资源的显示方式。 保存,复制和清除网络记录。 根据您的需要自定义Network(网络)面板。 Netwo

  • 我使用水槽代理通过水槽代理收集外部数据。外部数据批次几乎是每 10 秒 1MB。我按如下方式配置了水槽代理。 我按以下方式激活了代理。 可惜后来发现netcat source运行良好,channel或者sink出了问题。从Ubuntu的资源监视器,我可以看到以下性能。网络性能。蓝色曲线表示输入,而红色曲线表示在没有其他应用程序运行网络io的情况下的输出,我确信这个图展示了我的Flume代理发生了什

  • 我想了解Selenium是如何评估页面的。 基于这个测试,PhantomJS如何评估页面是令人困惑的。我一直认为它会检查DOM,但对于元素文本,它会基于可见性进行评估!

  • 问题内容: 我正在尝试以下代码,该代码向RDD中的每一行添加一个数字,并使用PySpark返回RDD列表。 输入文件(sample.txt)中的内容为: 我期待这样的输出(将rdd中的数字分别添加0、1、2): 而实际输出是: 这意味着无论 范围(4) 为何,该理解仅将值3用于变量i 。 为什么会发生这种现象? 问题答案: 它的发生是由于Python的后期绑定,而不是特定于(Py)Spark的。将

  • 我得到了无限的名单是懒惰的。我不明白的是,一些有结尾的列表是懒惰的,为什么eager方法在我的情况下不起作用。 我有这个例子 当我想获得前100个元素时,它很有效。但是当我想要更多的时候,比如说200,我就无法得到这200个元素了。

  • 我正在使用NPOI从Excel2003文件中读取数据。这些文件包含如下公式('1:2'!$C$17)。NPOI识别像SUM('1'!$C$17)这样的公式(W/O表2),并计算无效的结果。我使用的是NPOI示例中的常规代码,比如