scala WordCount案例
数据样例:
java,spark,hadoop,python,datax
java,spark,hadoop,spark,python,datax
java,spark,hadoop,python,datax
java,spark,hadoop,spark,python
java,spark,hadoop,spark,python,datax
java,spark,hadoop,python,datax
java,spark,hadoop,python,datax
java,spark,hadoop,spark,python,datax
java,spark,hadoop,python,datax
java,spark,hadoop,spark,python,datax
hadoop,spark,spark,python
package com.shujia import scala.io.Source object Test1wordcount {
def main(args: Array[String]): Unit = {
//读取文件,并将转换成list集合
val list: List[String] = Source.fromFile("data/words.txt").getLines().toList
//将list集合按照分隔键进行展开
val words: List[String] = list.flatMap((lines: String) => lines.split(","))
//分组
val groupBy: Map[String, List[String]] = words.groupBy((word: String) =>word)
//统计单词数量
val wordCount: Map[String, Int] = groupBy.map((kv: (String, List[String])) => {
//分组单词
val word: String = kv._1
//组内所有单词
val value: List[String] = kv._2
//求出数组内的长度
val count: Int = value.length
//返回单词的数量
(word, count)
})
wordCount.foreach(println) } }
输出结果:
F:\soft\java\jdk\bin\java.exe "-javaagent:F:\soft\IDEA\IntelliJ
(datax,36)
(java,40)
(hadoop,44)
(spark,68)
(python,44) Process finished with exit code 0
scala WordCount案例的更多相关文章
- 大数据学习day18----第三阶段spark01--------0.前言(分布式运算框架的核心思想,MR与Spark的比较,spark可以怎么运行,spark提交到spark集群的方式)1. spark(standalone模式)的安装 2. Spark各个角色的功能 3.SparkShell的使用,spark编程入门(wordcount案例)
0.前言 0.1 分布式运算框架的核心思想(此处以MR运行在yarn上为例) 提交job时,resourcemanager(图中写成了master)会根据数据的量以及工作的复杂度,解析工作量,从而 ...
- scala wordcount kmeans
scala wordcount kmeans k-means算法的输入对象是d维向量空间的一些点,对一个d维向量的点集进行聚类. k-means聚类算法会将集合D划分成k个聚簇.
- MapReduce简单执行过程及Wordcount案例
MapReducer运行过程 以单词统计为案例. 假如现在文件中存在如下内容: aa bb aa cc dd aa 当然,这是小文件,如果文件大小较大时会将文件进行 "切片" ,此 ...
- 3. scala-spark wordCount 案例
1. 创建maven 工程 2. 相关依赖和插件 <dependencies> <dependency> <groupId>org.apache.spark< ...
- Spark Streaming的wordcount案例
之前测试的一些spark案例都是采用离线处理,spark streaming的流处理一样可以运行经典的wordcount. 基本环境: spark-2.0.0 scala-2.11.0 IDEA-15 ...
- scala Wordcount
package my.bigdata.scala08 import scala.collection.mutableimport scala.collection.mutable.ArrayBuffe ...
- 使用MapReduce运行WordCount案例
@ 目录 一.准备数据 二.MR的编程规范 三.编程步骤 四.编写程序 Mapper程序解读 一.准备数据 注意:准备的数据的格式必须是文本,每个单词之间使用制表符分割.编码必须是utf-8无bom ...
- Spark框架——WordCount案例实现
package wordcount import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} ...
- hadoop环境搭建及Wordcount案例实验
1.Linux环境变量设置 在/etc/profile中添加环境变量 sudo vim /etc/profile PATH=$PATH:/usr/local/hadoop/bin source /et ...
随机推荐
- Idea使用入门
jeecgboot推荐使用的idea是2019,原使用的2017在自动识别maven项目上有点问题,甚至2019在一些报错下仍然可以直接运行项目 idea的安装结构(卸载细节涉及) 下载文件位 ...
- 电脑UEFI启动是什么?
UEFI 当EFI发展到1.1的时候,英特尔决定把EFI公之于众,于是后续的2.0吸引了众多公司加入,EFI也不再属于英特尔,而是属于了Unified EFI Form的国际组织,EFI在2.0后也遂 ...
- VUE3 之 Teleport - 这个系列的教程通俗易懂,适合新手
1. 概述 老话说的好:宰相肚里能撑船,但凡成功的人,都有一种博大的胸怀. 言归正传,今天我们来聊聊 VUE 中 Teleport 的使用. 2. Teleport 2.1 遮罩效果的实现 < ...
- Nacos源码系列—服务端那些事儿
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 前言 在上节课中,我们讲解了客户端注册服 ...
- 简易版 vue实现
Vue-mini 完整的Demo示例:git@github.com:xsk-walter/Vue-mini.git 一.Vue实例 构造函数: $option\ $el\ $data 判断是否存在 通 ...
- Kafka 生产者解析
一.消息发送 1.1 数据生产流程 数据生产流程图解: Producer创建时,会创建⼀个Sender线程并设置为守护线程 ⽣产消息时,内部其实是异步流程:⽣产的消息先经过拦截器->序列化器-& ...
- 渗透:EWSA
EWSA全称Elcomsoft Wireless Security Auditor.ElcomSoft是一家俄罗斯软件公司,出品过不少密码破解软件,涉及Office.SQL.PDF.EFS等等. EW ...
- python之生成器与模块
目录 生成器对象 自定义range方法 生成器表达式 模块 简介 模块的导入方式 第一种:import ... 第二种:from ... import ... 补充 生成器对象 生成器对象其实本质还是 ...
- Dockerfile 使用 SSH
如果在书写 Dockerfile 时,有些命令需要使用到 SSH 连接,比如从私有仓库下载文件等,那么我们应该怎么做呢? Dockerfile 使用 SSH Dockerfile 文件配置 为了使得 ...
- ESP8266远程控制电子门
ESP8266远程控制电子门 最前面介绍: 这是一个使用ESP8266 联网控制继电器,实现手机远程控制电子门,打开关闭,开关一次的物联网联手小项目 附git地址:https://github.com ...