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)
*/
}
}
- 浏览: 73907 次
- 性别:
- 来自: 天津
文章分类
最新评论
发表评论
-
spark11
2018-06-20 15:32 01.1 Spark1 ... -
oozie
2018-06-20 15:14 171. 简述 ... -
公司hive
2018-06-20 15:08 181. 简述 Hive ... -
大数据项目
2018-05-21 23:32 0抽象出四个步骤就是 ... -
scala2
2018-04-23 22:33 370actor:哎各特scala:死噶勒trait:tree得tu ... -
scala
2018-04-23 22:44 430<!--[if !mso]> <styl ... -
scala中的Akka通讯模型
2018-04-23 22:30 227package com.bjsxtimport scala.a ... -
hadooop
2018-04-22 23:24 599查看博客:http://blog.csdn.net/qq_2 ... -
kafka
2018-04-22 23:35 524一、Kafka简介 Kafka是一个分布式的消息队列系 ... -
zookerpeer
2018-04-22 23:35 9581. Zookeeper:攘其外必先安其内。攘其 ... -
jvm调优
2018-04-19 10:44 3361. 方法区又叫永久区,里面放的是.cl ... -
jvm调优
2018-04-19 10:55 0<!--[if !mso]> <styl ... -
jvm调优
2018-04-19 10:42 01. 方法区又叫永久区,里面放的是.cla ... -
java复习
2018-04-19 10:41 371第一:HashMap相关 1. 介绍hashs ... -
机器学习
2018-04-17 08:43 0第一:问题 1. ... -
hive
2018-04-17 08:40 307调优网站:https://www.cnblogs.com/s ... -
大数据集群搭建
2018-03-21 23:34 449NN-1 NN-2 ... -
hbase
2018-03-21 22:55 368第一:hbase介绍 1. HBase是列式存 ... -
hbase代码
2018-03-21 18:06 474package com.sxt.hbase; import ... -
hive
2018-03-21 18:17 398第一:Hive和关系型数据库的区别1.Hive将外部的任务解 ...
相关推荐
使用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程序是初学者接触这门函数式编程语言时常见的入门示例,它展示了如何处理文本数据并计算其中单词的出现次数。在这个例子中,我们主要涉及以下几个关键知识点: 1. Scala语言基础: Scala是一...
在WordCount中,Scala代码会定义map和reduce操作来统计单词。 3. **Spark**: Spark是并行计算框架,提供内存计算,使得数据处理速度显著提升。在WordCount示例中,Spark读取HDFS上的数据,通过SparkContext创建RDD...
scala语言和python一样都是交互式的语言,操作简单。这是wordcount的scala实现,简单明了,比java实现简单很多,希望对大家有所帮助
为了在IDEA中编写scala,今天安装配置学习了IDEA集成开发环境。IDEA确实很优秀,学会之后,用起来很顺手。关于如何搭建scala和IDEA开发环境,请看文末的参考资料。用Scala和Java实现WordCount,其中Java实现的Java...
19. **Scala 版本 wordcount**: - 处理给定的字符串列表,统计单词出现的次数。 20. **map 和 foreach 的区别**: - `map` 返回一个新的集合,应用函数到每个元素上。 - `foreach` 不返回值,只遍历并执行给定...
WordCount 是一个经典的示例程序,用于统计文本文件中每个单词出现的次数。本篇将详细介绍如何在 Spark 环境下实现 WordCount,并对相关配置文件进行解析。 #### 二、Spark WordCount 实现步骤 ##### 1. 配置 HDFS...
本教程将重点介绍如何使用Scala编写一个简单的WordCount程序,以及如何在本地和集群模式下运行它。 **一、Spark环境搭建** 1. 安装Java:Spark依赖于Java,因此首先确保系统中已安装Java 8或更高版本。 2. 获取...
在WordCount中,通常会用到集合的`flatMap`、`groupByKey`和`reduceByKey`等函数来统计文本中单词出现的频率。 不可变数组在Scala中是默认的,这意味着一旦创建,其元素和长度都不能更改。虽然不能直接在原数组上...
在IntelliJ IDEA中创建一个新的Scala项目,并添加必要的依赖库(如Spark Core),就可以按照上面的方式编写WordCount程序。 #### 四、验证程序正确性 在完成程序编写后,需要验证程序是否能够正确运行并得到预期的...
标题中的"一个基于Spring Boot的Spark开发手脚架(Java+Scala),开箱即用!模拟了1个WordCount.zip"表明这是一个使用Spring Boot框架构建的Spark应用程序,它结合了Java和Scala两种编程语言,旨在提供一个快速启动...
1. **环境配置**: 确保你的开发环境中已经安装了 Scala 2.12 和 SBT(Scala 构建工具)。Flink 1.14.4 与 Scala 2.12 兼容,这意味着你可以利用 Scala 2.12 的优势来编写 Flink 作业。 2. **创建项目**: 创建一个新...
在WordCount中,这体现在对文本文件的行进行分割,然后并行计算每个单词的数量。 **2. WordCount程序步骤** - **创建SparkConf和SparkContext**:程序开始时,首先需要创建`SparkConf`对象来配置Spark应用,然后...
- **新建Scala项目**:在IDEA 2017版中,创建Scala项目的步骤可能与直觉稍有不同。首先选择“新建Project”,然后选择“Scala”选项,接着再选择“IDEA”。虽然这个命名方式可能会让人感到困惑,但它确实是指向创建...
在本实验中,我们将深入学习如何使用IntelliJ IDEA这一强大的集成开发环境(IDE)来开发Scala程序,特别是针对Apache Spark的应用。实验的目标是让学习者掌握如何在IDEA中配置和构建Spark本地应用程序,以及如何部署...
在Eclipse中创建Spark项目时,确保选择正确的Scala版本(例如2.10.6),并将Spark相关的jar包添加到项目的类路径中。需要注意的是,导入所有jar包后可能会出现编译错误,这时需要删除重复的jar包。 接着,你可以...
在main目录下的scala文件夹中,创建WordCount.scala文件用于词频统计。代码中首先创建了一个SparkConf对象,设置了appName和Master值;然后,创建了一个SparkContext对象,它是所有任务计算的源头;接着,读取了数据...
在本集成示例中,我们将探讨如何将Spring Boot与Apache Spark 2.4.4以及Scala 2.12版本相结合,实现一个简单的"Hello World"应用。Spring Boot以其便捷的微服务开发能力,而Apache Spark是大数据处理领域中的一员...
Eclipse+Maven+Scala Project+Spark | 编译并打包wordcount程序 学习用Eclipse+Maven来构建并打包一个简单的单词统计的例程。 第一步 在EclipseIDE中安装Scala插件 在Eclipse中安装Scala插件 第二步 创建Scala ...