Spark Streaming中如何处理旧数据和删除已处理的数据 [英] In Spark Streaming how to process old data and delete processed Data

查看:55
本文介绍了Spark Streaming中如何处理旧数据和删除已处理的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在运行一个Spark Stream作业,该作业从一个目录(使用TextFileStream)检索文件。 我们关注的一个问题是,作业已关闭,但文件仍在添加到目录中。 一旦作业重新启动,这些文件就不会被拾取(因为它们不是新的或在作业运行时更改),但我们希望处理它们。

1)有解决方案吗?有没有办法跟踪已处理的文件,以及是否可以"强制"拾取较旧的文件?

2)是否有方法删除已处理的文件?

推荐答案

下面的文章几乎涵盖了您的所有问题。

https://blog.yanchen.ca/2016/06/28/fileinputdstream-in-spark-streaming/

1)有没有解决这个问题的办法?是否有办法跟踪已处理的文件,以及是否可以"强制"拾取较旧的文件?

启动作业/应用程序时,Stream Reader使用系统时钟启动批处理窗口。显然,以前创建的所有文件都将被忽略。尝试启用检查点

2)是否有方法删除已处理的文件?

可能不需要删除文件。如果检查点工作正常,则由Spark标识未处理的文件。如果出于某种原因要删除文件,请实现一个定制的输入格式和读取器(请参阅文章)来捕获文件名并适当地使用此信息。但我不建议使用这种方法。

这篇关于Spark Streaming中如何处理旧数据和删除已处理的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆