使用本地文件的Spark streaming(python)
是否有一种方法可以像使用HDFS()一样扫描本地文件系统以查找特定文件夹中的更改?使用常规路径或带有使用本地文件的Spark streaming(python),python,hadoop,apache-spark,hdfs,pyspark,Python,Hadoop,Apache Spark,Hdfs,Pyspark,是否有一种方法可以像使用HDFS()一样扫描本地文件系统以查找特定文件夹中的更改?使用常规路径或带有hdfs://的URI运行它似乎可行,但使用前面带有file://的URI则不行 from __future__ import print_function from pyspark import SparkContext from pyspark.streaming import StreamingContext XML_PATH = "file:///home/user/in" APP_NA
hdfs://
的URI运行它似乎可行,但使用前面带有file://
的URI则不行
from __future__ import print_function
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
XML_PATH = "file:///home/user/in"
APP_NAME = "StreamingTest"
BATCH_DURATION = 1 # in seconds
if __name__ == "__main__":
sc = SparkContext("local[*]", appName=APP_NAME)
ssc = StreamingContext(sc, BATCH_DURATION)
lines = ssc.textFileStream(XML_PATH).pprint()
ssc.start()
ssc.awaitTermination()
奇怪的是,这似乎适用于特定的文件。当XML\u路径
更改为时file:///home/user/in/test.txt“
如果文件存在,则输出相同
-------------------------------------------
Time: 2016-01-14 16:04:34
-------------------------------------------
-------------------------------------------
Time: 2016-01-14 16:04:35
-------------------------------------------
但当文件在流媒体传输过程中被删除时,应用程序开始抛出异常
16/01/14 16:04:37警告文件输入流:查找新文件时出错
java.io.FileNotFoundException:File File:/home/user/in/test.txt不存在
我假设它可以从本地目录中读取
我尝试将XML\u路径
更改为/tmp/in
,这是HDFS上的一个目录,并在运行流时上载相同的文件,这似乎有效
-------------------------------------------
Time: 2016-01-14 16:13:12
-------------------------------------------
-------------------------------------------
Time: 2016-01-14 16:13:13
-------------------------------------------
The Project Gutenberg EBook of Ulysses, by James Joyce
subscribe to our email newsletter to hear about new eBooks.
-------------------------------------------
Time: 2016-01-14 16:13:14
-------------------------------------------