我问here完全相同的问题。我无法在那里发表评论,因为我在stackoverflow中没有足够的声誉。所以我发布了一份副本。不确定是否有办法绕过它。
那里给出的答案并不奏效。 textFileStream()不以逗号分隔的文件夹列表。
16/02/24 11:01:40 WARN FileInputDStream: Error finding new files
java.io.FileNotFoundException: File file:/shared/data/2016-01-22-05/,file:/shared/data/2016-01-22-06 does not exist
at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:376)
这是我到目前为止所拥有的
val folderList = makeAListOfFoldersToWatch()
val dstreamsList = folderList.map(ssc.textFileStream(_))
val lines = ssc.union(dstreamsList)
lines.foreachRDD( rdd => {
此解决方案适用于固定文件夹列表。这里的用例是每小时有一个YYYY-MM-DD-HH格式的S3文件夹。每小时创建一个新文件夹。 有没有办法在长时间运行的流媒体作业中更新文件夹列表?还有其他方法可以解决这个问题吗?