Apache Spark Streaming不读取目录

时间:2015-02-25 19:40:51

标签: python apache-spark spark-streaming pyspark

我正在开发Spark Streaming,我想设置一个本地目录来将数据流式传输到我的spark应用程序,以便该目录中的每个新文本文件都将流式传输到我的应用程序。我尝试使用StreamingContext的{​​{1}}方法但我没有从我移动到指定本地目录的文件中获取任何数据。你能帮我找到为什么会这样吗?

所以这是我写的代码:

textFileStream

所以在parseAndBuildVectors中,即使我将一个新文件移动到我传递给def main(): if len(sys.argv) != 5: print 'Usage: SPARK_HOME/bin/spark-submit CoinpipeVectorBuilder.py <SPARK_HOME> <dir_streaming> ' \ '<dir_crawled_addresses> <dir_output_vectors>' sys.exit(1) #Set the path to crawled outputs according to the parameter passed to the spark script global path_crawled_output path_crawled_output = sys.argv[4] global sc, ssc sconf = SparkConf().setMaster("local[2]")\ .setAppName("CoinPipeVectorBuilder")\ .set("spark.hadoop.validateOutputSpecs", "false") sc = SparkContext(conf=sconf) ssc = StreamingContext(sc, 10) tx_and_addr_stream = ssc.textFileStream(sys.argv[2]) tx_and_addr_stream.foreachRDD(parseAndBuildVectors) ssc.start() ssc.awaitTermination() if __name__ == "__main__": main() 的指定目录,我也没有数据

1 个答案:

答案 0 :(得分:1)

Spark代码在工作时执行。因此,工作对您的本地文件系统没有任何访问权限。这是不可能直接的。您可以读取流文件然后生成RDD然后可以使用spark执行操作。 Spark只能访问分布式数据。