在集群上运行Spark作业时,内容未保存在文件中(纱线)

时间:2018-07-26 22:35:32

标签: scala apache-spark

我面临一个奇怪的问题,并且已经坚持了一段时间。

基本上在我的spark应用程序中,我有一个方法,可以在MapR fs中创建一个文件,然后在该文件中保存一些内容。

方法如下:

    def collector(value: String): Unit = {
        val conf = new Configuration()
        val fs= FileSystem.get(conf)
        val path = getConfig("path")
        Try {fs.create(new Path(path + s"${scala.util.Random.alphanumeric take 10 mkString}" +
          Calendar.getInstance.getTimeInMillis))
          .write(value.getBytes); 
          fs.close()}.getOrElse(logger.warn("File not saved"))
      }

此方法是从其他对象调用的。当我使用--master local [*]运行该文件时,将在FS中的特定位置创建该文件,并使用 value 传递的字符串。但是,当我在群集(--master yarn)上运行它时,只会保存空文件。当我打印 value 时,它会打印字符串。但是由于某种原因,不能将其保存在文件中。

我想知道是否有人知道为什么吗?

谢谢

0 个答案:

没有答案