在Spark文档中,它提到对于来自本地文件系统的Spark Streaming,文件必须以原子方式移动到源文件夹中。可能有一个配置来读取现有文件,但我不记得了。
在评论中,我提到了Kafka Connect,它是一个用于向Kafka传输数据的内置框架,您只需要构建链接项目并运行Kafka Connect。
否则,如果你已经使用Hadoop,我建议其他人使用Flume,如果你有Elasticsearch将文件带入Kafka,我建议使用Filebeat / Fluentd。基本上,Spark这么简单的程序从本地文件系统读取的开销太大,并且不需要任何并行性来读取每个文件