apache-spark - Spark (PySpark) 文件已存在异常

标签 apache-spark pyspark apache-spark-sql

我正在尝试将数据框保存为文本文件,但是,我收到文件已存在异常。我尝试将模式添加到代码中,但没有成功。此外,该文件实际上并不存在。有人知道我该如何解决这个问题吗?我正在使用 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

最佳答案

您可以使用overwriteappend来替换文件或将数据添加到同一文件中。

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/

相关文章:

apache-spark - YARN 集群上的 PySpark 分布式处理

apache-spark - 即使枢轴不是操作,Spark 枢轴也会调用作业

python - 如何将 python 包传递给 spark 作业并使用参数从包中调用主文件

scala - 在 Scala 中使用 Spark 数据集执行类型化联接

java - 从嵌套的用户定义对象中创建 DataFrame

scala - 条件应用 `filter`/`where`到一个Spark `Dataset`/`Dataframe`

apache-spark - 运行 DeepLearning4J MNIST 示例时出现 java.lang.OutOfMemoryError

python - pyspark:找不到本地文件

apache-spark - 我们需要启动spark来运行pyspark吗?

apache-spark - 如何展平结构类型数组的列(由Spark ML API返回)?