如何有效地遍历RDD或DataFrame?

问题描述

我有一个数据集

471,Brunt,52,273
472,Nog,27,154
473,Morn,35,38
474,Keiko,34,48 
475,Ben,446 

我想高效地对其进行迭代,以便可以取出多个 一次获取信息,并将其保存在名称或年龄等地方。

**def retrieveData(data):
array1 = []
splitData = data.split(",")
for newData in splitData:
    if newData[1] == "will":
        array1.append(newData[1])
        
return array1      
 lines = sc.textFile("/Users/adityaverma/Documents/sparkCourse/fakefriends.csv")
 lines.take()
 getNewData = lines.map(retrieveData)
 mydata = getNewData.map(lambda x : (x,1)).reduceByKey(lambda x,y:x+y)
 results = mydata.collect()
 
 This results shows an error "ile "<ipython-input-96-8b7508e2339e>",line 5,in retrieveData
  IndexError: string index out of range**

我的方法是将RDD传递给python函数(def extract(lines):)类似 然后使用if和else将值保存在不同的数组中,然后分配 在这种情况下,这些数组将再次变为RDD,而不必在同一RDD上再次使用过滤器

怎么可能?有没有一种方法可以有效地遍历RDD或数据帧一次 ?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)