spark的计数统计在本地与集群运行

本文介绍了如何在本地和Linux集群环境下使用Spark进行单词计数统计。首先创建了一个简单的Maven项目实现本地统计,并展示了测试结果。接着,将项目打包成jar,上传到集群并使用`spark-submit`命令运行。在集群中运行时需要注意配置环境变量和指定输出路径。最后,通过HDFS查看并下载了集群运行的结果,集群版的关键在于正确编写`spark-submit`命令,避免小错误。

在这里 我们先简易的看一下一个本地运行的单词计数统计

  1. 这里不用多说 创建一个简单的maven项目,大致就是下面的图片

在这里插入图片描述

  1. 编写一个本地的技术统计

     	object SingleCount {
           def main(args: Array[String]): Unit = {
           //1.执行入口
     //2.创建sparkConf对象 设置appname和master地址
    val conf:SparkConf = new SparkConf().setAppName("LocalSingleCount").setMaster("local[2]")
     //3.创建SparkConf对象
     val context:SparkContext=new SparkContext(conf)
    
     //4.读取文件数据文件
     val dataRDD:RDD[String]=context.textFile("D:\\1.txt")
    
     //5.切分文件中的每一行 返回文件所有单词
     val wordsRDD : RDD[String] =dataRDD.flatMap(_.split(" "))
    
     //返回元组(单词,1)
     val wordsRDDAndOneRDD :RDD[(String,Int)] =wordsRDD.map((_,1))
    
    
     //6. 相同的单词次数累加 出现相同单词次数降序排列
     val resultRDD:RDD[(String,Int)]=wordsRDDAndOneRDD.reduceByKey(_+_)
      val sortResultRDD:RDD[(String,Int)] = resultRDD.sortBy(_._2,false)
    
     //7.收集结果数据
     val tuples: Array[(String,Int)] =sortResultRDD.coll
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值