Apache kafka 读取Spark流检查点数据
我正在写一个Spark流媒体应用程序,读卡夫卡的文章。为了获得一个完全相同的语义,我想使用direct Kafka流和Spark Streaming本机检查点 问题是,检查点使得保存代码实际上是不可能的:如果您更改了某些内容,就会丢失检查点数据,因此您几乎不得不读取两次来自卡夫卡的消息。我想避免它 因此,我试图自己读取检查点目录中的数据,但到目前为止我还无法做到这一点。有人能告诉我如何通过检查点文件夹读取上次处理的卡夫卡偏移量的信息吗 谢谢,,Apache kafka 读取Spark流检查点数据,apache-kafka,spark-streaming,checkpointing,Apache Kafka,Spark Streaming,Checkpointing,我正在写一个Spark流媒体应用程序,读卡夫卡的文章。为了获得一个完全相同的语义,我想使用direct Kafka流和Spark Streaming本机检查点 问题是,检查点使得保存代码实际上是不可能的:如果您更改了某些内容,就会丢失检查点数据,因此您几乎不得不读取两次来自卡夫卡的消息。我想避免它 因此,我试图自己读取检查点目录中的数据,但到目前为止我还无法做到这一点。有人能告诉我如何通过检查点文件夹读取上次处理的卡夫卡偏移量的信息吗 谢谢,, Marco您是否使用有状态流?如果没有,您不必在图
Marco您是否使用有状态流?如果没有,您不必在图形中使用检查点,只需存储卡夫卡偏移量即可。是的,我有一个状态要保存…使用有状态流只获取一次是很棘手的。您可以做的一件事是确保自己使用支持模式演化的协议序列化状态,但这将在检查点数据的基础上花费额外的序列化,这不是可伸缩的。我知道。这就是我试图从Spark存储的检查点数据中读取信息的原因…Spark在检查点目录中存储了
ReliableCheckpointRDD
,而不是状态的原始字节。它不应该被外部阅读。