first()不处理现有的RDD

时间:2016-05-02 10:57:17

标签: python apache-spark pyspark rdd

我正在尝试将csv文件导入RDD格式。当我使用for i in $(more subnets-test);do shodan download $(echo $i | tr "/" "-") net:$i;done 命令获取rdd的第一行时,它会给出如下所述的错误。

似乎.first()函数使RDD成为流水线型RDD,.map.first()之类的命令不起作用。还有其他方法可以解决这个问题吗?

.count()

给出了这个错误:

import csv
import StringIO

def loadRecord(line):
    input = StringIO.StringIO(line)
    reader = csv.DictReader(input, fieldnames=["PassengerId","Survived","Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"])
    return reader.next()
input = sc.textFile("C:\Users\rohit.guglani\Documents/train.csv",4).map(loadRecord)

type(input)

pyspark.rdd.PipelinedRDD



input.first()

1 个答案:

答案 0 :(得分:0)

在Windows上工作时,使用/代替\

时请务必小心
input = sc.textFile("C:\Users\rohit.guglani\Documents\train.csv",4).map(loadRecord)