火花流:
当 Spark Streaming 应用程序发生代码更改时,我必须清理检查点以部署新更改。实际上,我正在失去历史状态,这真的很糟糕。
有没有一种方法可以从外部数据库(如 Cassandra)中保存和重建状态信息,除了常规检查点之外,spark 默认提供?
您能否指出我在这方面的一些编码示例。
火花流:
当 Spark Streaming 应用程序发生代码更改时,我必须清理检查点以部署新更改。实际上,我正在失去历史状态,这真的很糟糕。
有没有一种方法可以从外部数据库(如 Cassandra)中保存和重建状态信息,除了常规检查点之外,spark 默认提供?
您能否指出我在这方面的一些编码示例。
如果您使用像 Kafka 直接 API 这样的接收器较少的方法,那么您可以获取主题读取的偏移量并将其存储到 Cassandra(或任何数据库)。在您的初始化中,您必须从 Cassandra 读取偏移量并在直接 API 中使用它。通过这种方式,您可以避免检查点并轻松升级您的 jar。
要访问 dstream 中的偏移量,可以在此处查看 示例偏移量读取示例