Kafka流:标点与过程

jv2fixgn  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(315)

在stream app中的单个任务中,以下两个方法是否独立运行(即当方法“process”处理来自上游源的传入消息时,方法“标点”也可以基于指定的时间表和挂钟(标点类型是什么?)并行运行,或者它们是否共享同一个线程,所以它是在给定时间运行的线程,如果是这样的话,如果进程方法不断从上游源获取消息,标点方法是否永远不会被调用?
处理器进程(k键,v值)
用给定的键和值处理记录。
processorcontext.schedule(长间隔、标点类型、标点或回调)
为处理器安排周期性操作。
另外,请澄清在标点法中分区id值为-1是什么意思。标点法不是特定于任何分区的吗?
int processorcontext.partition()
返回当前输入记录的分区id;如果不可用,则可以为-1(例如,如果从标点符号调用调用此方法)

kokeuurv

kokeuurv1#

两个方法都在一个线程中执行。基于挂钟 punctuate() 如果有或没有输入数据,则将独立调用:调用之间 process() 线程检查系统时间并调用 punctuate() 如有必要。
对于分区信息:是的,标点符号独立于分区。当然,标点符号是特定于任务的,但是,一个任务可能有多个输入分区(例如,如果它执行 merge 或者 join )所以不清楚要传递什么分区信息。为简单起见,单分区情况与多分区情况的处理方式相同,标点符号与分区解耦。

相关问题