首页 > 解决方案 > RDD没有在pyspark中保存为文本文件

问题描述

在运行 PySpark 的 AWS EC2 实例上使用以下命令。

final_rdd.coalesce(1).saveAsTextFile('<Location for saving file>')

该命令失败并显示以下日志。

PySpark 无法使用不同的次要版本运行。请检查环境变量 PYSPARK_PYTHON 和 PYSPARK_DRIVER_PYTHON 是否设置正确。在 org.apache.spark.api.python.BasePythonRunner$ReaderIterator.handlePythonException(PythonRunner.scala:452) 在 org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRunner.scala:588) 在 org .apache.spark.api.python.PythonRunner$$anon$1.read(PythonRunner.scala:571) at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:406) at org.apache .spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409) at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409 ) 在 org.apache.spark.internal.io。

19/06/12 05:08:41 错误 TaskSetManager:阶段 1.0 中的任务 0 失败 4 次;中止工作

19/06/12 05:08:41 错误 SparkHadoopWriter:中止作业 job_20190612050833_0014。org.apache.spark.SparkException:作业因阶段失败而中止:阶段 1.0 中的任务 0 失败 4 次,最近一次失败:阶段 1.0 中丢失任务 0.3(TID 10,ip-10-145-62-182.ec2。 internal, executor 2): org.apache.spark.SparkException: Task failed while writing rows at org.apache.spark.internal.io.SparkHadoopWriter$.org$apache$spark$internal$io$SparkHadoopWriter$$executeTask(SparkHadoopWriter. scala:155) at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$3.apply(SparkHadoopWriter.scala:83) at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$3.apply(SparkHadoopWriter. scala:78) 在 org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90) 在 org.apache.spark.scheduler.Task.run(Task.

标签: pythonpython-3.xapache-sparkhadooppyspark

解决方案


你有 python 版本问题。您的工作节点 Python 版本(2.7)与驱动节点 Python 版本(3.5)不同。请安装正确的版本。


推荐阅读