【发布时间】:2018-09-27 13:05:40
【问题描述】:
我正在尝试在 pyspark 中处理 samplecsv.csv 文件(64 MB)。 此代码生成错误:AttributeError: 'list' object has no attribute 'saveAsTextFile'
我想我已经使用并行化将列表转换为 RDD。如果没有,它是怎么做的?
file = sc.textFile('/user/project/samplecsv.csv',5)
rdd = file.map(lambda line: (line.split(',')[0], line.split(',')[1],
line.split(',')[2], line.split(',')[3],
line.split(',')[4])).collect()
temp = sc.parallelize([rdd], numSlices=50000).collect()
temp.saveAsTextFile("/user/project/newfile.txt")}
【问题讨论】:
-
不要调用
collect()- 它会将 RDD 收集到本地列表中,这会使您的rdd和temp变量列表而不是 RDD(然后您就不需要“temp " - 无需收集然后并行化)
标签: python pyspark rdd pyspark-sql