【问题标题】:use Flink to process kafka messages in the past 10 minutes?使用 Flink 处理过去 10 分钟内的 kafka 消息?
【发布时间】:2019-02-16 21:24:03
【问题描述】:

我们正在考虑使用 Flink SQL 对过去 5 到 10 分钟内的实时 kafka 数据进行临时分析。为了实现这一点,我们似乎需要扩展 Kafka 连接器,使其仅在给定时间段内读取消息,并使用它来生成有限输入源。

我想知道是否有替代方法。任何建议都将非常受欢迎。

【问题讨论】:

    标签: apache-flink flink-streaming flink-sql


    【解决方案1】:

    Flink Kafka 连接器以多种方式支持setting the start position,包括myConsumer.setStartFromTimestamp(...)。 Kafka 表连接器appears to support these same options

    如果你想使用 Flink 的 SQL 客户端,你可能需要编写一个瘦包装器来处理从 10 分钟前开始计算时间戳并相应地设置起始 Kafka 偏移量。

    【讨论】:

    • 我想要的是让 Flink 在过去 10 分钟内只处理 kafka 数据,然后停止。看来目前提交的 flink 作业将永远运行,只要有新消息进入 kafka。
    • 为什么会出现这个问题?对于临时分析,您似乎可以在看到足够多的情况后简单地取消作业。
    • 上下文是我们正在尝试构建一个服务,允许用户提交 SQL 查询并使用 Flink 对 kafka 实时数据进行 ad hoc 分析。我们希望作业自动停止,而不是让用户取消作业。我们需要一个关于查询处理的数据的明确协议。
    猜你喜欢
    • 2021-08-11
    • 2021-11-12
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2019-06-21
    相关资源
    最近更新 更多