是否可以将 return 消息作为 "unread" 消息发送到 Kafka 主题?
Is it possible to return a message to Kafka Topic as "unread" message?
我正在构建一个 Spark Streaming 程序,我希望它读取某些消息,并且 return 如果消息无法被程序处理,它们将作为主题的“未读”。
我的意图是程序最终再次读取消息并尝试处理它。
这可能吗?
没有。如果你想到卡夫卡抵消,那是不可能的。
如果您“return”原始主题的记录,它将附加到主题的末尾,因此在下一次投票时再次使用。
这将导致无限消费循环(直到放回记录的任何条件不再为真)
你问的好像是“dead-letter-queue”,是用不同的主题实现的,不是原来的。至于如何在 Spark 中处理它,您可能必须维护一些 Try
对象(Scala)或其他布尔类型,它知道特定事件是否已成功处理;然后 filter
在写入任何下游系统之前将其输出。
例如,具有此模式的数据框,您在生成之前 filter/drop 第三列
topic - string
value - bytes
hasError - boolean
我正在构建一个 Spark Streaming 程序,我希望它读取某些消息,并且 return 如果消息无法被程序处理,它们将作为主题的“未读”。
我的意图是程序最终再次读取消息并尝试处理它。
这可能吗?
没有。如果你想到卡夫卡抵消,那是不可能的。
如果您“return”原始主题的记录,它将附加到主题的末尾,因此在下一次投票时再次使用。
这将导致无限消费循环(直到放回记录的任何条件不再为真)
你问的好像是“dead-letter-queue”,是用不同的主题实现的,不是原来的。至于如何在 Spark 中处理它,您可能必须维护一些 Try
对象(Scala)或其他布尔类型,它知道特定事件是否已成功处理;然后 filter
在写入任何下游系统之前将其输出。
例如,具有此模式的数据框,您在生成之前 filter/drop 第三列
topic - string
value - bytes
hasError - boolean