我正在尝试将数据框保存为文本文件,但是,我收到文件已存在异常。我尝试将模式添加到代码中,但没有成功。此外,该文件实际上并不存在。有人知道我该如何解决这个问题吗?我正在使用 PySpark
这是代码:
distFile = sc.textFile("/Users/jeremy/Downloads/sample2.nq")
mapper = distFile.map(lambda q: __q2v(q))
reducer = mapper.reduceByKey(lambda a, b: a + os.linesep + b)
data_frame = reducer.toDF(["context", "triples"])
data_frame.coalesce(1).write.partitionBy("context").text("/Users/jeremy/Desktop/so")
我可以补充一点,异常是在一段时间后引发的,并且一些数据实际上存储在临时文件中(显然已被删除)。
谢谢!
编辑:异常可以在这里找到:https://gist.github.com/jerdeb/c30f65dc632fb997af289dac4d40c743
最佳答案
您可以使用overwrite
或append
来替换文件或将数据添加到同一文件中。
data_frame.coalesce(1).write.mode('overwrite').partitionBy("context").text("/Users/jeremy/Desktop/so")
或
data_frame.coalesce(1).write.mode('append').partitionBy("context").text("/Users/jeremy/Desktop/so")
关于apache-spark - Spark (PySpark) 文件已存在异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582853/