我正在与Spark打交道,并试图从文件流中读取。这是我的示例代码:
JavaStreamingContext streamingContext = new JavaStreamingContext( context, new Duration( 10_000 ) );
Path checkpoint = Paths.get( "d:/tmp/spark" );
streamingContext.checkpoint( checkpoint.toUri().toString() );
Path resourcesDir = Paths.get( "D:/tmp/spark-monitor-dir" );
JavaDStream<Vector> trainingDStream = streamingContext
.textFileStream( resourcesDir.toUri().toString() )
.map( this::parseTrainingData );
...
streamingContext.start();
// do some periodical check of the state
streamingContext.awaitTermination();
我在为textFileStream方法指定的目录中没有读取任何文件。在查看其他stackoverflow答案时,有人指出只有使用HDFS(link)才有可能。但是我在一些视频教程中看到人们在Mac上执行它,所以我认为这毕竟是可能的。
我的问题是如何将Spark设置为在类似开发的环境中使用文件流(即,尽可能简单)。如果我需要HDFS,如何在这样的环境中设置它(又要尽可能简单)?
此外,如果这样做没有意义,请给我指出参数。
编辑
我在Linux机器上使用相同的应用程序尝试了相同的Spark设置,它从目录中读取文件流。无需设置HDFS!