保存代码中的文件,以供每个执行程序访问

时间:2019-04-18 23:07:52

标签: scala apache-spark

我在远处有一个文件。

我想取它。现在,我正在使用spark.sparkContext.wholeTextFiles("...").map(_._2)

然后我使用...toDF.write.mode(SaveMode.Overwrite).text("./localFile.txt")

将其保存回本地

但是当尝试从执行者那里读取它时,我得到了java.io.FileNotFoundException

任何想法我如何使所有执行者都可以使用文件?

我还尝试过类似的操作:

Spark.range(0, 1000000).repartition(100000)
.mapPartitions{ _ =>
  // write files using java classes
  Seq(1).toIterator
}

但是我得到关于文件类不可序列化的错误。

我知道我可以broadcast的文件内容,但是我正在使用第三方库,该库期望文件位于给定的位置,因此现在不可以选择。

谢谢。

0 个答案:

没有答案