我正在尝试从文本文件中读取流数据,该数据使用Spark流API" textFileStream"连续追加。但无法通过Spark流读取连续数据。如何在Spark中实现它?
答案 0 :(得分:1)
这是一种预期的行为。对于file based sources(如fileStream
):
- 必须通过原子移动或将数据重命名为数据目录,在dataDirectory中创建文件。
- 移动后,不得更改文件。因此,如果连续追加文件,则不会读取新数据。
如果你想连续阅读,你必须创建自己的源,或者使用单独的进程来监视更改,并将记录推送到例如Kafka(尽管很少将Spark与支持的文件系统结合起来追加)。