我的“asdasd.csv”文件具有以下结构。
Index,Arrival_Time,Creation_Time,x,y,z,User,Model,Device,gt
0,1424696633908,1424696631913248572,-5.958191,0.6880646,8.135345,a,nexus4,nexus4_1,stand
1,1424696633909,1424696631918283972,-5.95224,0.6702118,8.136536,a,nexus4,nexus4_1,stand
2,1424696633918,1424696631923288855,-5.9950867,0.6535491999999999,8.204376,a,nexus4,nexus4_1,stand
3,1424696633919,1424696631928385290,-5.9427185,0.6761626999999999,8.128204,a,nexus4,nexus4_1,stand
Run Code Online (Sandbox Code Playgroud)
好的,我得到以下 {key,value} 元组来对其进行操作。
# x y z
[(('a', 'nexus4', 'stand'), ((-5.958191, 0.6880646, 8.135345)))]
# part A (key) part B (value)
Run Code Online (Sandbox Code Playgroud)
我计算平均值的代码如下,我必须计算每个键的每列 X、YZ 的平均值。
rdd_ori = sc.textFile("asdasd.csv") \
.map(lambda x: ((x.split(",")[6], x.split(",")[7], x.split(",")[9]),(float(x.split(",")[3]),float(x.split(",")[4]),float(x.split(",")[5]))))
meanRDD = rdd_ori.mapValues(lambda x: (x,1)) \
.reduceByKey(lambda a, b: (a[0][0] + b[0][0], a[0][1] + b[0][1], a[0][2] + b[0][2], a[1] + b[1]))\
.mapValues(lambda a : (a[0]/a[3], a[1]/a[3],a[2]/a[3]))
Run Code Online (Sandbox Code Playgroud)
我的问题是我尝试了该代码,它在其他 PC 上运行良好,并且与我用于开发它的相同 MV (PySpark Py3)
这是一个例子,这段代码是正确的:
但我不知道为什么会收到此错误,重要的部分在Strong中。
-------------------------------------------------- ------------------------- Py4JJavaError Traceback (最近一次调用) in …