gpt4 book ai didi

apache-kafka - 卡夫卡流 : Punctuate vs Process

转载 作者:行者123 更新时间:2023-12-04 05:30:01 24 4
gpt4 key购买 nike

在流应用程序中的单个任务中,以下两个方法是否独立运行(意味着“process”方法正在处理来自上游源的传入消息,“punctuate”方法也可以根据指定的时间表并行运行,并且WALL_CLOCK_TIME 作为 PunctuationType?)还是它们共享相同的线程,因此它是在给定时间运行的线程,如果是这样,如果 process 方法不断从上游源获取消息,那么 punctuate 方法将永远不会被调用?

  • Processor.process(K 键,V 值)
    使用给定的键和值处理记录。
  • ProcessorContext.schedule(长间隔,PunctuationType 类型,Punctuator 回调)
    为处理器安排定期操作。

  • 另外,请说明在 punctuate 方法中分区 id 值为 -1 是什么意思。 punctuate 方法不是特定于任何分区吗?
  • int ProcessorContext.partition()
    返回当前输入记录的分区id;如果不可用,则可能是 -1(例如,如果从标点调用中调用此方法)
  • 最佳答案

    这两种方法都在单个线程中执行。基于挂钟 punctuate()如果有输入数据,将被独立调用:在调用 process() 之间线程检查系统时间并调用 punctuate()如有必要。

    对于分区信息:是的,标点符号与分区无关。当然,标点符号是特定于任务的,但是,一个任务可能有多个输入分区(例如,如果它执行 mergejoin ),因此不清楚要传递什么分区信息。为简单起见,单个分区case 的处理方式与多分区 case 相同,标点符号与分区分离。

    关于apache-kafka - 卡夫卡流 : Punctuate vs Process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50776987/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com