使用Spark加载CSV文件我是Spark的新手,我正在尝试使用Spark从文件中读取CSV数据。这就是我在做的事情:sc.textFile('file.csv')
.map(lambda line: (line.split(',')[0], line.split(',')[1]))
.collect()我希望这个调用能给我一个我文件的两个第一列的列表,但是我收到了这个错误:File "<ipython-input-60-73ea98550983>", line 1, in <lambda>IndexError: list index out of range虽然我的CSV文件不止一列。
3 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
你确定所有的行都至少有2列吗?你可以尝试一下,只是为了检查?:
sc.textFile("file.csv") \
.map(lambda line: line.split(",")) \
.filter(lambda line: len(line)>1) \
.map(lambda line: (line[0],line[1])) \
.collect()
或者,你可以打印罪魁祸首(如果有的话):
sc.textFile("file.csv") \
.map(lambda line: line.split(",")) \
.filter(lambda line: len(line)<=1) \
.collect()
添加回答
举报
0/150
提交
取消