火花减少和地图问题

时间:2015-06-07 18:24:37

标签: python apache-spark pyspark

我在Spark做了一个小实验,我遇到了麻烦。

progressbarupload/static/js/progress_bar.js

3 个答案:

答案 0 :(得分:2)

我想出了我的解决方案:

from operator import add
totalCount = (wordCounts
              .map(lambda x: x[1])
              .reduce(add))
average = totalCount / float(wordsRDD.map(lambda x: (x,1)).reduceByKey(add).count())
print totalCount
print round(average, 2)

答案 1 :(得分:1)

我自己不确定,但从查看代码我可以看到一些问题。地图'函数不能与像'list_name.map(某些东西)这样的列表一起使用,你需要像这样调用map函数:' variable = map(function,arguments)'如果您正在使用python 3,则需要执行变量= list(map(函数,参数))'。 希望有所帮助:)

答案 2 :(得分:0)

另一种类似的方式: 您还可以将列表读作键,值对并使用Distinct()

from operator import add
totalCount = (wordCounts
          .map(lambda (k,v)  : v )
          .reduce(add))
average = totalCount / float(wordCounts.distinct().count())
print totalCount
print round(average, 2)