#统计一个文件中a,b这两个字母出现的单词有多少个。 可以像下面这样写:
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf=conf)
logFile = "/Users/sungaofei/Documents/spark/README.md"
logData = sc.textFile(logFile).cache()
numAs = logData.filter(lambda s: 'a' in s).count()
numBs = logData.filter(lambda s: 'b' in s).count()
print("Lines with a: %i, lines with b: %i"%(numAs, numBs))
numAs和numBs就是我们统计的结果。
可以看到spark提供了filter这种过滤函数和count这种内置的统计数量函数。
我们不再像以前MapReduce一样要写那么多的逻辑。 同时SparkSQL也支持了我们把SQL翻译成代码的功能。