1

私は Apache Spark を初めて使用し、Spark と共に Scala の学習を開始しました。このコード スニペットでは、Spark はプログラムが終了したときにテキスト ファイルを閉じる処理を行いますか?

val rdd = context.textFile(filePath)

Java では、ファイルを開いたときに、try-catch-finally または try-with-resources で閉じる必要があることを知っています。

この例では、テキスト ファイルについて言及していますが、RDD は複数の異なる種類のデータ セットを取得できるため、完了時に Spark がリソースのクローズを処理するかどうかを知りたいと考えています。

4

1 に答える 1

1

context.textFile() は実際にファイルを開くのではなく、RDD オブジェクトを作成するだけです。これは、存在しないファイルの textFile RDD を作成することで実験的に確認できます。エラーはスローされません。RDD によって参照されるファイルは、 actionを呼び出したときにのみ開かれ、読み取られ、閉じられます。これにより、Spark は IO とデータ変換を実行し、指示したアクションが実行されます。

于 2014-10-19T01:21:40.487 に答える