处理开始后,Spark会从目录中拾取新文件吗?

时间:2018-09-10 15:32:27

标签: apache-spark

如果我使用

base64.b64_decode(value)

为目录中的所有文件创建RDD,并且已经在其中写入了另一个应用程序(因此,如果处理时间很长,则将添加新文件),还会触发获取新文件,或仅找到找到的文件在启动时? (我真的很需要后者...)

1 个答案:

答案 0 :(得分:1)

简短的回答是“否”。原因是RDD或Dataframe是不可变的数据结构。一旦创建了RDD / Dataframe,就无法追加到该数据结构。

当您读取目录中的数据时,将在RDD中创建spark,以跟踪所读取数据中的分区。因此,该RDD是不可变的。因此,spark会继续执行启动时发现的分区

对此的替代方法是使用火花流,在将新数据添加到目录时发现新数据。