pyspark实现wordcount案例

发布时间 2024-01-04 21:38:16作者: 田攀攀的博客

      wordcount(词频统计)案例作为入门案例,几乎是大数据领域都很热衷的经典案例,那么今天就通过使用pyspark来实现一下吧,废话不多说,直接上代码:

import sys
from pyspark import SparkConf, SparkContext

if __name__ == '__main__':
    if len(sys.argv) != 3:
        print("Usage: wordcount <input> <output>",file=sys.stderr)
        sys.exit(-1)

    conf = SparkConf()
    sc = SparkContext(conf=conf)
    print("sys.argv=",sys.argv)

    # 结果打印到控制台
    def printResult():
        counts = sc.textFile(sys.argv[1])\
            .flatMap(lambda line:line.split("\t"))\
            .map(lambda x:(x,1))\
            .reduceByKey(lambda a,b:a+b)

        output = counts.collect()
        for (word,count) in output:
            print("%s: %i"%(word,count))

    # 结果保存到文件
    def saveFile():
        sc.textFile(sys.argv[1]) \
            .flatMap(lambda line: line.split("\t")) \
            .map(lambda x: (x, 1)) \
            .reduceByKey(lambda a, b: a + b)\
            .saveAsTextFile(sys.argv[2])

    #printResult()
    saveFile()
    sc.stop()

提交到服务器上执行:

第一个参数是输入路径(本例中是一个目录,读取的是该目录下的所有文件),第二个参数是输出路径(wc目录刚开始不存在,提交后会自动生成),提交后在输出路径下出现了:

      好了,这就是使用PySpark来完成的wordcount经典案例,继续努力!