当流媒体源是Kafka时,spark流媒体作业中startingOffsets early和startingOffsets latest有什么区别?

nwo49xxi  于 2023-02-15  发布在  Apache
关注(0)|答案(1)|浏览(174)

我正在尝试使用spark streaming job从Kafka中读取流。有一个属性startingoffsets,它的值可以是最早的也可以是最新的。当startingoffsets被设置为最新时,我对它感到困惑。
我的假设是当startingoffsets设置为最早时,它从开始读取数据,当设置为最晚时,它在spark流作业或查询执行时间的开始时间之后从Kafka读取数据。然而,当它设置为最早时,它按预期工作,但当我设置为最晚并运行流应用程序时,它不从kafka读取任何数据。

km0tfn4u

km0tfn4u1#

根据文件,属性会指定当伺服器上没有使用者位移时要执行的动作。
如果Kafka中没有初始偏移量,或者当前偏移量在服务器上不再存在(例如,因为数据已被删除),该怎么办:
earliest会从一开始就读取主题中的数据,你说它按预期工作,而latest没有,使用latest,你必须在开始读取后推送数据。

相关问题