`

scala中的wordcount

 
阅读更多

package com.bjsxt.spark

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
/**
 * 统计单词出现的次数。
 */
object WordCount {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setMaster("local")
    conf.setAppName("wc")
    val sc = new SparkContext(conf)
    val lines:RDD[String] = sc.textFile("./words")//读取这个文件中的每一行
    val words:RDD[String] = lines.flatMap(line=>{//把所有行的所有单词都取出来
      line.split(" ")
    })
    val pairWords:RDD[(String, Int)] = words.map(word=>{new Tuple2(word,1)})//利用map的一对多的形式,输出格式为:第一个参数为每个单词,第二个参数是1。(String, Int)不是两个参数,其实表示一个tuple二元组
    val result :RDD[(String, Int)] = pairWords.reduceByKey((v1:Int,v2:Int)=>{v1+v2})//分组:(v1:Int,v2:Int)中两个参数中,第一个参数是上次计算的数字,第二个参数是本个单词的1,然后相加
    val end :RDD[(String, Int)] = result.sortBy(tuple=>{tuple._2},false)//分组后排序,按从大到小的顺序输出,false表示安装ask排序还是按desc排序
    println("%%%%%");
    end.foreach(tuple=>{
      println(tuple)//打印输出
    })
    sc.stop()
   
   
   /* val conf = new SparkConf().setMaster("local").setAppName("wc")
    new SparkContext(conf).textFile("./words").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortBy(_._2,false).foreach(println)
    */
  }
}

分享到:
评论

相关推荐

    使用Scala设计WordCount程序

    使用Scala设计WordCount程序 软件环境: hadoop-2.6.5.tar.gz spark-1.6.2-bin-hadoop2.6.tgz scala-2.10.4.gz scala-SDK-4.0.0-vfinal-2. 11-linux.gtk.x86_64.tar.gz

    scala写的第一个wordcount例子

    Scala编写的WordCount程序是初学者接触这门函数式编程语言时常见的入门示例,它展示了如何处理文本数据并计算其中单词的出现次数。在这个例子中,我们主要涉及以下几个关键知识点: 1. Scala语言基础: Scala是一...

    hadoop scala spark 例子项目,运行了单机wordcount

    在WordCount中,Scala代码会定义map和reduce操作来统计单词。 3. **Spark**: Spark是并行计算框架,提供内存计算,使得数据处理速度显著提升。在WordCount示例中,Spark读取HDFS上的数据,通过SparkContext创建RDD...

    spark框架中wordcount的scala实现

    scala语言和python一样都是交互式的语言,操作简单。这是wordcount的scala实现,简单明了,比java实现简单很多,希望对大家有所帮助

    Spark:用Scala和Java实现WordCount

    为了在IDEA中编写scala,今天安装配置学习了IDEA集成开发环境。IDEA确实很优秀,学会之后,用起来很顺手。关于如何搭建scala和IDEA开发环境,请看文末的参考资料。用Scala和Java实现WordCount,其中Java实现的Java...

    Scala考试题1

    19. **Scala 版本 wordcount**: - 处理给定的字符串列表,统计单词出现的次数。 20. **map 和 foreach 的区别**: - `map` 返回一个新的集合,应用函数到每个元素上。 - `foreach` 不返回值,只遍历并执行给定...

    spark下实现wordcount

    WordCount 是一个经典的示例程序,用于统计文本文件中每个单词出现的次数。本篇将详细介绍如何在 Spark 环境下实现 WordCount,并对相关配置文件进行解析。 #### 二、Spark WordCount 实现步骤 ##### 1. 配置 HDFS...

    Spark 最简单WordCount

    本教程将重点介绍如何使用Scala编写一个简单的WordCount程序,以及如何在本地和集群模式下运行它。 **一、Spark环境搭建** 1. 安装Java:Spark依赖于Java,因此首先确保系统中已安装Java 8或更高版本。 2. 获取...

    大数据课程-Scala编程基础-4.Scala数据结构_lk_edit.ppt

    在WordCount中,通常会用到集合的`flatMap`、`groupByKey`和`reduceByKey`等函数来统计文本中单词出现的频率。 不可变数组在Scala中是默认的,这意味着一旦创建,其元素和长度都不能更改。虽然不能直接在原数组上...

    基于HDFS的spark分布式Scala程序测试

    在IntelliJ IDEA中创建一个新的Scala项目,并添加必要的依赖库(如Spark Core),就可以按照上面的方式编写WordCount程序。 #### 四、验证程序正确性 在完成程序编写后,需要验证程序是否能够正确运行并得到预期的...

    一个基于Spring Boot的Spark开发手脚架(Java+Scala),开箱即用!模拟了1个WordCount.zip

    标题中的"一个基于Spring Boot的Spark开发手脚架(Java+Scala),开箱即用!模拟了1个WordCount.zip"表明这是一个使用Spring Boot框架构建的Spark应用程序,它结合了Java和Scala两种编程语言,旨在提供一个快速启动...

    flink-1.14.4 安装包 scala 2.12

    1. **环境配置**: 确保你的开发环境中已经安装了 Scala 2.12 和 SBT(Scala 构建工具)。Flink 1.14.4 与 Scala 2.12 兼容,这意味着你可以利用 Scala 2.12 的优势来编写 Flink 作业。 2. **创建项目**: 创建一个新...

    WordCount_Spark!_spark_wordcount_java_

    在WordCount中,这体现在对文本文件的行进行分割,然后并行计算每个单词的数量。 **2. WordCount程序步骤** - **创建SparkConf和SparkContext**:程序开始时,首先需要创建`SparkConf`对象来配置Spark应用,然后...

    上手提示:使用新版IDEA+Maven+Scala编写Spark程序

    - **新建Scala项目**:在IDEA 2017版中,创建Scala项目的步骤可能与直觉稍有不同。首先选择“新建Project”,然后选择“Scala”选项,接着再选择“IDEA”。虽然这个命名方式可能会让人感到困惑,但它确实是指向创建...

    使用IDEA开发Scala程序.docx

    在本实验中,我们将深入学习如何使用IntelliJ IDEA这一强大的集成开发环境(IDE)来开发Scala程序,特别是针对Apache Spark的应用。实验的目标是让学习者掌握如何在IDEA中配置和构建Spark本地应用程序,以及如何部署...

    第四章Spark&Scala的集成开发环境.docx

    在Eclipse中创建Spark项目时,确保选择正确的Scala版本(例如2.10.6),并将Spark相关的jar包添加到项目的类路径中。需要注意的是,导入所有jar包后可能会出现编译错误,这时需要删除重复的jar包。 接着,你可以...

    如何使用IDEA工具开发一个WordCount单词计数程序?.pdf

    在main目录下的scala文件夹中,创建WordCount.scala文件用于词频统计。代码中首先创建了一个SparkConf对象,设置了appName和Master值;然后,创建了一个SparkContext对象,它是所有任务计算的源头;接着,读取了数据...

    Springboot 结合Apache Spark 2.4.4与Scala 2.12 集成示例

    在本集成示例中,我们将探讨如何将Spring Boot与Apache Spark 2.4.4以及Scala 2.12版本相结合,实现一个简单的"Hello World"应用。Spring Boot以其便捷的微服务开发能力,而Apache Spark是大数据处理领域中的一员...

    Spark-wordcount:spark wordcount示例| 在Eclipse + Maven + Scala Project + Spark中构建

    Eclipse+Maven+Scala Project+Spark | 编译并打包wordcount程序 学习用Eclipse+Maven来构建并打包一个简单的单词统计的例程。 第一步 在EclipseIDE中安装Scala插件 在Eclipse中安装Scala插件 第二步 创建Scala ...

Global site tag (gtag.js) - Google Analytics