Spark Streaming textFileStream复制

时间:2016-06-08 14:35:24

标签: scala hadoop spark-streaming

我正在尝试监视HDFS中的存储库以读取和处理复制到其中的文件中的数据(将文件从本地系统复制到HDFS我使用hdfs dfs -put),有时会产生问题:Spark Streaming:java .io.FileNotFoundException:文件不存在:。 COPYING 所以我在论坛和问题中阅读了问题Spark Streaming: java.io.FileNotFoundException: File does not exist: <input_filename>._COPYING_ 根据我读到的问题,在完成在HDFS和Github上复制之前,问题与Spark流读取文件有关: https://github.com/maji2014/spark/blob/b5af1bdc3e35c53564926dcbc5c06217884598bb/streaming/src/main/scala/org/apache/spark/streaming/dstream/FileInputDStream.scala,他们说他们已经纠正了这个问题,但只针对我FileInputDStream,但我正在使用textFileStream 当我尝试使用FileInputDStream时,IDE会抛出错误,无法从此处访问符号。 有没有人知道如何过滤掉仍在复制的文件,因为我试过:

var lines = ssc.textFileStream(arg(0)).filter(!_.contains("_COPYING_") 

但这不起作用,这是预期的,因为过滤器应该应用于文件进程的名称我猜我无法访问 正如你所看到的,我在提出问题之前做了大量的研究,但没有运气, 有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

所以我看了一下:-put is the wrong method。查看最终评论:您必须在shell脚本中使用-rename才能在HDFS上拥有原子事务。