使用Spark Structured Streaming处理后删除文件

时间:2017-04-28 04:01:55

标签: apache-spark spark-structured-streaming

我正在使用file source in Spark Structures Streaming,并希望在处理完文件后删除这些文件。

我正在一个充满JSON文件(1.json2.json等)的目录中阅读,然后将它们写为Parquet文件。我希望在成功处理后删除每个文件。

1 个答案:

答案 0 :(得分:2)

编辑2 :将我的go脚本更改为读取源代码。 new script

编辑:目前正在尝试此操作,它可能会在处理之前删除文件。目前正在寻找更好的解决方案并研究这种方法。

我通过创建a Go script暂时解决了这个问题。它将扫描我在Spark中设置的检查点文件夹并处理其中的文件,以确定哪些文件已经从Spark写出。如果它们存在,它将删除它们。它每隔10秒就会这样做。

但是,依赖于Spark的检查点文件结构和表示(JSON),它没有记录,可能随时更改。我还没有查看Spark源代码,看看我正在阅读的文件(checkpoint/sources/0/...)是否是处理文件的真实来源。似乎工作ATM虽然!比此时手动更好。