pyspark的用法

pyspark -h 查看用法

pyspark -h

Usage: pyspark [options]

常见的[options] 如下表:

1632913-20190322223526979-429101577.png

输入pyspark -h 查看各参数的定义

1632913-20190322223604652-651922423.png

查看sc变量

  • 不指定--master时

      pyspark
      (查看sc变量)
      sc

1632913-20190322223837595-1085393095.png

  • 指定--master时

      pyspark --master spark://node1:7077
      (查看sc变量)
      sc

1632913-20190322223923729-1597359929.png

用pyspark开发一个WordCount程序

输入下面的代码并运行(路径根据情况修改)。

  • 在本地创建一个文件:/home/hadoop/252/input/data.txt (hadoop是本地用户名,252表示文件名,两个值请根据情况修改)。此路径也可以换为hdfs的路径。

    data.txt文件中的内容是:

      a good beginning is half the battle
    
      where there is a will there is a way
  • 一行代码实现WordCount

      sc.textFile("/home/hadoop/252/input/data.txt").flatMap(lambda line: line.split(" ")).map(lambda word : (word,1)).reduceByKey(lambda x,y : x+y).saveAsTextFile("/home/hadoop/252/output/0222")

1632913-20190322224034227-842765899.png

  • 多行代码实现WordCount(单步)

      rdd1 = sc.textFile("/home/hadop/252/input/data.txt")  #延时读取数据
      rdd1.collect()  #查看结果(列表方式)

1632913-20190322224111450-1986667021.png

rdd2 = rdd1.flatMap(lambda line: line.split(" "))  #将每句话进行分词,再整合到一个列表
rdd2.collect()  #查看结果(列表方式)

1632913-20190322224139131-1602412090.png

rdd3 = rdd2.map(lambda word : (word,1))  #每个单词记一次数,将单词和1构成元组
rdd3.collect()  #查看结果(列表方式)

1632913-20190322224203160-939065491.png

rdd4 = rdd3.reduceByKey(lambda x,y:x+y)  #再将value进行累加,把相同的Key的value进行累加
rdd4.collect()  #查看结果(列表方式)

1632913-20190322224236389-1989737177.png

rdd4.saveAsTextFile("/home/hadoop/252/output/0333")  #保存到指定目录,此目录预先不能存在

最后,输出查看目录中的内容

1632913-20190322224331273-1420024944.png

1632913-20190322224338441-520900726.png

转载于:https://www.cnblogs.com/jiajiaba/p/10581878.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值