【发布时间】:2020-12-05 07:02:57
【问题描述】:
我正在尝试根据 key 进行平均,我得到了如下数据:
data = [
{"x":10,"y":30},{"x":20,"y":40}
]
目前尝试过
df=sc.parallelize(data)
df.groupByKey().mapValues(lambda x:sum(x)/len(x)).collect()
我收到一个错误:
org.apache.spark.SparkException:作业因阶段失败而中止: 阶段 17.0 中的任务 5 失败 1 次,最近一次失败:丢失任务 17.0 阶段的 5.0(TID 141,localhost,执行器驱动程序):org.apache.spark.api.python.PythonException:Traceback(最近 最后调用):
预期输出:
{"x":15,"y":35}
当我们通过键平均 x 具有 10 和 20 作为值时,10+20/2 =15 即 x:15 和 y 变为 30+40/2=35 即 y:35
【问题讨论】:
-
请提供完整的回溯
-
org.apache.spark.SparkException:作业因阶段故障而中止:阶段 20.0 中的任务 5 失败 1 次,最近一次失败:阶段 20.0 中丢失任务 5.0(TID 165,本地主机,执行程序驱动程序): org.apache.spark.api.python.PythonException: Traceback (最近一次调用最后一次):
标签: python dictionary pyspark