使用Kinesis的Spark Streaming - 如何强制检查点?

时间:2017-02-08 12:01:41

标签: spark-streaming amazon-kinesis

我有一个流媒体应用程序,可以从Aws Kinesis中读取数据。

默认情况下,在创建流接收器时,您可以选择执行检查点的时间间隔,即在DynamoDB上完成。

在某一点上,我想停止我的申请(sparkStreamingContext.stop())但在此之前我想强行检查一下。

有可能吗?

我知道如果检查点位于文件系统上,我应该sparkStreamingContext.checkpoint(directoryName)但是kinesis的检查点在DynamoDB上,那我该怎么做呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

强制检查点是不可能的。检查点是Spark的一种实现细节,用于执行恢复和保证消息传递的方式。因此,您无法简单地调用检查点"如你所愿。

如果你真的想控制何时保存数据,你还需要自己管理这个状态。