繁体   English   中英

火花流失败的批次

[英]spark streaming failed batches

由于内存相关问题,我在火花流应用程序中看到一些失败的批处理

无法计算拆分,找不到块输入0-1464774108087

,而且我想知道是否有一种方法可以在不对当前正在运行的应用程序造成混乱的情况下在一边重新处理这些批处理,就一般而言,不必完全相同。

在此先感谢Pradeep

如果您的数据吸收到火花的速率高于分配的或可以保留的内存,则可能会发生这种情况。 您可以尝试将StorageLevel更改为MEMORY_AND_DISK_SER以便在内存不足时Spark可以将数据溢出到磁盘上。 这样可以防止您的错误。

另外,我不认为此错误意味着在处理过程中任何数据都会丢失,但是您的块管理器添加的输入块在处理开始之前就已超时。

Spark用户列表中检查类似的问题。

编辑:

数据不会丢失,只是不存在任务预期的位置。 根据Spark文档

您可以使用其上的persist()或cache()方法将一个RDD标记为持久。 第一次在操作中对其进行计算时,它将被保存在节点上的内存中。 Spark的缓存是容错的-如果RDD的任何分区丢失,它将使用最初创建它的转换自动重新计算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM