数据样例:
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案例的更多相关文章

  1. 大数据学习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)会根据数据的量以及工作的复杂度,解析工作量,从而 ...

  2. scala wordcount kmeans

    scala wordcount   kmeans k-means算法的输入对象是d维向量空间的一些点,对一个d维向量的点集进行聚类. k-means聚类算法会将集合D划分成k个聚簇.

  3. MapReduce简单执行过程及Wordcount案例

    MapReducer运行过程 以单词统计为案例. 假如现在文件中存在如下内容: aa bb aa cc dd aa 当然,这是小文件,如果文件大小较大时会将文件进行 "切片" ,此 ...

  4. 3. scala-spark wordCount 案例

    1. 创建maven 工程 2. 相关依赖和插件 <dependencies> <dependency> <groupId>org.apache.spark< ...

  5. Spark Streaming的wordcount案例

    之前测试的一些spark案例都是采用离线处理,spark streaming的流处理一样可以运行经典的wordcount. 基本环境: spark-2.0.0 scala-2.11.0 IDEA-15 ...

  6. scala Wordcount

    package my.bigdata.scala08 import scala.collection.mutableimport scala.collection.mutable.ArrayBuffe ...

  7. 使用MapReduce运行WordCount案例

    @ 目录 一.准备数据 二.MR的编程规范 三.编程步骤 四.编写程序 Mapper程序解读 一.准备数据 注意:准备的数据的格式必须是文本,每个单词之间使用制表符分割.编码必须是utf-8无bom ...

  8. Spark框架——WordCount案例实现

    package wordcount import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} ...

  9. hadoop环境搭建及Wordcount案例实验

    1.Linux环境变量设置 在/etc/profile中添加环境变量 sudo vim /etc/profile PATH=$PATH:/usr/local/hadoop/bin source /et ...

随机推荐

  1. BootstrapBlazor实战 Markdown 编辑器使用

    基础工程使用工程: B08. BootstrapBlazor实战 Menu 导航菜单使用 实战BootstrapBlazorMenu Markdown 编辑器使用, 以及整合Freesql orm快速 ...

  2. idea的快捷键(复制) IntelliJ Idea 常用快捷键列表

    Ctrl+Shift + Enter,语句完成'!',否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可 ...

  3. UDP协议、操作系统、同步与异步、阻塞与非阻塞

    UDP协议 # 客户端 import socket server = socket.socket(type=socket.SOCK_DGRAM) server.bind(('127.0.0.1', 8 ...

  4. Swift初探02 数组、集合、元组、字典

    数组.集合.元组.字典 每一门语言基本都会有这些数据结构,swift也不例外,而作为一门现代的语言,swift提供了很多的现成的方法给我们选择. 一.数组 01 数组的定义 // 三种声明方式 var ...

  5. 《Mybatis 手撸专栏》第8章:把反射用到出神入化

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 为什么,读不懂框架源码? 我们都知道作为一个程序员,如果想学习到更深层次的技术,就需 ...

  6. 探索ABP基础架构-下

    配置应用程序 ASP.NET Core 的配置系统提供了一个基于键值对的配置方法.它是一个可扩展的系统,可以从各种资源中读取键值对,例如 JSON 设置文件.环境变量.命令行参数等等. 设置配置值 默 ...

  7. 169. Majority Element - LeetCode

    Question 169. Majority Element Solution 思路:构造一个map存储每个数字出现的次数,然后遍历map返回出现次数大于数组一半的数字. 还有一种思路是:对这个数组排 ...

  8. 482. License Key Formatting - LeetCode

    Question 482. License Key Formatting Solution 思路:字符串转化为char数组,从后遍历,如果是大写字母就转化为小写字母,如果是-就忽略,如果遍历了k个字符 ...

  9. Mybatis-Plus乐观锁Version

    实现原理 取出记录时,获取当前version更新时,带上这个version执行更新时, set version = newVersion where version = oldVersion如果ver ...

  10. 好客租房7-React脚手架的使用

    3.3在脚手架中使用React //第一步导入react import React from "React" import ReactDOM from "react-do ...