我遇到了以下错误:
“AttributeError: 'list' object has no attribute 'map'”
以下是我的pyspark代码:
错误在第3行,即“line.map”处。
此外,相应的Scala代码行正常工作,没有任何问题:
“AttributeError: 'list' object has no attribute 'map'”
以下是我的pyspark代码:
val rawData = sc.textFile("/PATH/train.tsv")
val records = rawData.map(line => line.split("\t"))
val data = records.map(lambda line: line.map(lambda x: x.replace ("\"","")))
错误在第3行,即“line.map”处。
此外,相应的Scala代码行正常工作,没有任何问题:
val data = records.map { r => r.map(_.replaceAll("\"", ""))
它给我想要的输出结果。
(该数据集从kaggle下载:http://www.kaggle.com/c/stumbleupon/data。)
已经苦苦挣扎了两天,请帮忙。
谢谢 gshweta
.map
方法,但Python的list
没有(但Python为此提供了一个内置的全局方法)。所以你的调用必须改变。不,lambda参数不需要是列表,它们是转换返回的类型(在这种情况下,line.split("\t")
返回一个列表,这就是为什么接下来的map的lambda必须取一个列表的原因)。 - ernest_k