Scala 从Apache Spark textFileStream读取文件

Scala 从Apache Spark textFileStream读取文件,scala,apache-spark,spark-streaming,Scala,Apache Spark,Spark Streaming,我正在尝试从Hadoop文件系统目录中读取/监视txt文件。但我注意到该目录中的所有txt文件都是目录本身,如下面的示例所示: /crawlerOutput/b6b95b75148cdac44cd55d93fe2bbaa76aa5cccecf3d723c5e47d361b28663be-1427922269.txt/_SUCCESS /crawlerOutput/b6b95b75148cdac44cd55d93fe2bbaa76aa5cccecf3d723c5e47d361b28663be

我正在尝试从Hadoop文件系统目录中读取/监视txt文件。但我注意到该目录中的所有txt文件都是目录本身,如下面的示例所示:

/crawlerOutput/b6b95b75148cdac44cd55d93fe2bbaa76aa5cccecf3d723c5e47d361b28663be-1427922269.txt/_SUCCESS   
/crawlerOutput/b6b95b75148cdac44cd55d93fe2bbaa76aa5cccecf3d723c5e47d361b28663be-1427922269.txt/part-00000
/crawlerOutput/b6b95b75148cdac44cd55d93fe2bbaa76aa5cccecf3d723c5e47d361b28663be-1427922269.txt/part-00001
我想读取零件文件中的所有数据。我正试图使用以下代码,如本文所示:

val testData = ssc.textFileStream("/crawlerOutput/*/*")
但是,不幸的是,它说它不存在。
textFileStream
不接受通配符吗?如何解决此问题?

文本文件流()只是
文件流()
的包装,不支持子目录(请参阅)

您需要列出要监视的特定目录。如果需要检测新目录,可以使用StreamingListener来检查,然后停止流上下文并使用新值重新启动

只是大声地想。。如果您打算处理每个子目录一次,并且只想检测这些新目录,则可能会关闭另一个位置,该位置可能包含作业信息或文件令牌,一旦存在,可能会在流上下文中使用,并调用相应的
textFile()
,以接收新路径