我注意到火花流实例也有检查点的代码。我的问题是检查点的重要性。如果它具有容错能力,那么在这样的流媒体应用程序中发生故障的频率如何?火花流传输中是否需要点校验
0
A
回答
2
这一切都取决于您的使用情况。假设您正在运行流式作业,它只是从卡夫卡读取数据并计算记录数量。如果你的应用程序在一年左右后崩溃,你会怎么做?
- 如果您没有备份/检查点,您将不得不重新计算所有以前的一年价值数据,以便您可以继续计数。
- 如果您有备份/检查点,您可以简单地读取检查点数据并立即恢复。
或者,如果你只是在做是有一个流应用程序,它只是读取-消息 - 从 - 卡夫卡>>>变换分析>>>插入到一个数据库内,我不用担心我的应用程序崩溃。即使它崩溃了,我也可以简单地恢复我的应用程序而不会丢失数据。
注意:检查点是一个存储火花应用程序当前状态的过程。
即将到来的容错频率,你几乎可以永远不会预测中断。在公司,
- 有可能是停电集群
- 经常修的/升级
希望这会有所帮助。
1
有两种情况:
- 你正在做的状态操作,如updateStateByKey,然后 你必须使用检查点 - 每一个状态保存。如果不设置 检查点目录,则会引发异常。
- 你正在做的只有窗口操作 - 那么是的,你可以禁用检查点。不过,我强烈建议设置检查点目录。
当司机死亡时,你将失去所有的数据和进度信息。点检可帮助您从这种情况下恢复应用程序。
失败是正常情况吗?当然!想象一下,你拥有大型集群,许多机器,以及这些机器中的许多组件。如果其中一个组件失败,那么你的应用程序也会失败。当连接到驱动程序丢失 - 您的应用程序失败。使用checkpoiting,你可以再次运行应用程序,它会恢复状态。
相关问题
- 1. 蟒蛇火花流输出
- 2. 要火花还是不火花?
- 3. 什么是在火花流
- 4. 在生产中永远运行火花流式传输
- 5. 如果我使用GZIP,是否需要校验和?
- 6. 火花传输中的广播
- 7. 火花流多输入kafka dstreams混淆
- 8. 使用火花流
- 9. 火花流聚合
- 10. 火花流:映射点到队列
- 11. 在火花结构化流式传输中执行单独的流式查询
- 12. 火花流传输时更新基础数据
- 13. 与广播联接的火花流式传输
- 14. 避免与火花流传输的mongoDB多连接
- 15. 与Kafka 2.0.0依赖关系的火花流传输
- 16. 使用python进行火花流式传输时出错?
- 17. 火花检测基地奇怪校验失败
- 18. 验证是否需要TCP?
- 19. 通过udf火花拼写校正
- 20. 校验需要多长时间?
- 21. 只使用校验和传输文件?
- 22. 我们是否需要验证jqgrid中的输入?
- 23. EMR和S3源火花流
- 24. 学习火花流媒体
- 25. 火花流不工作
- 26. 火花流HBase的错误
- 27. 卡夫卡+火花流:kafka.common.OffsetOutOfRangeException
- 28. 火花流+卡桑德拉
- 29. jsontostructs在火花结构流
- 30. 需要比较火鸟中的斑点
检查点的重要性仅取决于您的要求和业务逻辑。如果你想执行有状态操作,你不能接受数据丢失,否则它是强制性的,否则它是可选的。如果你有几个节点失败的可能性很小(这并不意味着你不应该为此准备),如果你有一千个节点,你可以预计每天失败。最重要的是软件问题。 – zero323