您好,谢谢您的宝贵时间。 我想做的是将一个键值对(其中value是一个列表)转换为另一个对,其中value是一个新列表,其中前一个与之前的区别不同。由于我是pyspark的新手,我有点迷失了。下面是我的代码无效,但返回第一个键值对。我不应该使用任何MapReduce函数吗?
asd2= sc.textFile("updated_nari.txt")
def parseLine(Line):
fields= Line.split(",")
mmsi = fields[0]
speed=float(fields[3])
return(mmsi,speed)
shipmmsi= asd2.map(parseLine)
asd3 = shipmmsi.groupByKey().mapValues(list)
asd3.map(lambda x:dif(x))
for result in asd3.collect():
print(result)
def dif():
new=[]
for i in range(len(x)):
new.append(x[i+1]-x[i])
return(new)