Scala 在群集上运行spark作业时,内容未保存在文件中(纱线)
我面临着一个奇怪的问题,我已经坚持了一段时间 基本上,在我的spark应用程序中,我有一个方法,在MapR fs中创建一个文件,并在此文件中保存一些内容 方法如下:Scala 在群集上运行spark作业时,内容未保存在文件中(纱线),scala,apache-spark,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
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 warn)上运行它时,只有空文件被保存。当我打印值时,它会打印字符串。但由于某种原因,没有将其保存在文件中
我不知道有没有人知道为什么
谢谢这很可能与您的问题无关,但是使用
系统。currentTimeMillis
似乎返回与Calendar.getInstance.getTimeInMillis
相同的结果,但是没有提到Calendar
遗留api。我在这里找到了类似的结果:可能会有所帮助。