Apache spark 一旦处理开始,Spark会从目录中拾取新文件吗?
如果我使用Apache spark 一旦处理开始,Spark会从目录中拾取新文件吗?,apache-spark,Apache Spark,如果我使用 sc.textFile("/my/dir1") 要为目录中的所有文件创建RDD,并且已经有另一个应用程序在其中写入(因此,如果处理时间较长,将添加新文件),spark是否也会获取新文件,或者仅获取启动时找到的文件?(我真的需要后者…简短的回答是否定的。原因是RDD或Dataframe是一个不可变的数据结构。一旦创建了RDD/Dataframe,就无法将其附加到该数据结构中 当您读取目录中的数据时,spark将在RDD中创建,该RDD跟踪读取数据中的分区。因此,这个RDD是不可变的。
sc.textFile("/my/dir1")
要为目录中的所有文件创建RDD,并且已经有另一个应用程序在其中写入(因此,如果处理时间较长,将添加新文件),spark是否也会获取新文件,或者仅获取启动时找到的文件?(我真的需要后者…简短的回答是否定的。原因是RDD或Dataframe是一个不可变的数据结构。一旦创建了RDD/Dataframe,就无法将其附加到该数据结构中 当您读取目录中的数据时,spark将在RDD中创建,该RDD跟踪读取数据中的分区。因此,这个RDD是不可变的。所以spark将继续执行启动时找到的分区
另一种方法是使用spark streaming,将新数据添加到目录时会在其中发现这些数据 也许你应该看看流媒体选项我不需要流媒体选项,因为我不想让它接收新文件。谢谢