每当在spark-streaming中部署新的jar(代码更改)时,旧的检查点将不起作用(如spark文档中所述)。如何处理这种情况。这是常见的事情,我们要从新jar的先前检查点获取数据并使它工作,否则它将丢失那些数据。在flink中,有一些Rock DB永久地保持状态,这实质上是HDFS检查点目录在火花流(非结构化)中应该做的。
这是spark文档说的: “无法从升级前代码的较早检查点信息重新启动。检查点信息本质上包含序列化的Scala / Java / Python对象,并且尝试使用新的,经过修改的类反序列化对象可能会导致错误。在这种情况下,要么启动升级的具有不同检查点目录的应用程序,或删除先前的检查点目录。“
要达到同样的目的,我在想的是将Cassandra作为持久状态,并执行所有指向HDFS API的检查点实质上要做的事情。是否有其他可行的解决方案可用于解决此问题。请提出建议。