我使用spark 2从HDFS读取数据并对其进行处理。 为了从HDFS导入我的数据,我使用以下内容:
JavaRDD<String> msg= spark.read().textFile("hdfs://myfolder/*").javaRDD();
但是我想知道火花是否会在我开始运行spark之后读取新文本文件。
如果不是这样,你能告诉我怎么做吗?
提前致谢
答案 0 :(得分:0)
你认为流媒体API会对你有用吗?它可以监视新文件的目录,并在最初没有所有数据时继续处理它们。
来自http://spark.apache.org/docs/latest/streaming-programming-guide.html#input-dstreams-and-receivers
“为了从与HDFS API兼容的任何文件系统(即HDFS,S3,NFS等)上的文件中读取数据,可以将DStream创建为:示例代码
Spark Streaming将监视目录dataDirectory并处理在该目录中创建的所有文件(不支持嵌套目录中写入的文件)。注意
必须通过原子移动或将数据重命名为数据目录,在dataDirectory中创建文件。
移动后,不得更改文件。因此,如果连续追加文件,则不会读取新数据。 “