收集和采取不与RDD一起工作

时间:2018-06-16 18:03:12

标签: java apache-spark pyspark

我正在尝试运行此代码:

   rddCollected=rddCollect.mapValues(lambda x: (x,1))
   rddCollected.collect() 
   rddCollectJoin=rddCollected.reduceByKey(lambda  x,y:(x[0]+y[0],x[1]+y[1]))

- rddCollected 正在使用collect正常运行 rddCollectJoin 无效,并提供以下错误。

  

Py4JJavaError:调用z:org.apache.spark.api.python.PythonRDD.runJob时发生错误。   :org.apache.spark.SparkException:作业因阶段失败而中止:阶段58.0中的任务0失败1次,最近失败:阶段58.0中丢失任务0.0(TID 78,localhost,执行器驱动程序):java.io.FileNotFoundException :C:\ Users \ lenovo \ AppData \ Local \ Temp \ blockmgr-431169ff-717a-4728-b9b2-c2ed1b4b5b20 \ 0c \ temp_shuffle_d089dc45-014d-4d07-b0c0-ee917ad1b501(系统找不到指定的路径)

Java版本是1.8-我有java 10,但我将其缩小到8,因为有10个问题 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我遇到了.collect()的问题。我正在使用无法序列化的类。只需将Serializable实现到该类,然后重试即可。它对我有用。