1

我是 Apache Spark 的新手,我开始学习 Scala 和 Spark。在此代码片段中,Spark 是否在程序完成后处理关闭文本文件?

val rdd = context.textFile(filePath)

我知道在 Java 中,当你打开一个文件时,你必须使用 try-catch-finally 或 try-with-resources 来关闭它。

在这个例子中,我提到了一个文本文件,但我想知道 Spark 是否会在资源完成后处理关闭资源,因为 RDD 可以采用多种不同类型的数据集。

4

1 回答 1

1

context.textFile() 实际上并没有打开文件,它只是创建了一个 RDD 对象。您可以通过为不存在的文件创建 textFile RDD 来实验性地验证这一点 - 不会引发错误。RDD 引用的文件只会在您调用action时被打开、读取和关闭,这会导致 Spark 运行 IO 和数据转换,从而导致您指示的操作。

于 2014-10-19T01:21:40.487 回答