Scala编程实战 —— 一文学会编码大数据基础案例wordcount

🙆‍♂️🙆‍♂️ 写在前面

​🏠​ 个人主页:csdn春和
📚 推荐专栏:更多专栏尽在主页!
JavaWeb专栏(从入门到实战超详细!!!)
SSM专栏 (更新中…)
​📖​ 本期文章:Scala编程实战 —— 一文学会编码大数据基础案例wordcount
如果对您有帮助还请三连支持,定会一 一回访!🙋🏻‍♂️



Scala开发实战练习

1、Word count案例实战

1.1、word count 过程分析

在这里插入图片描述

1.2、代码实现过程

// TODO 1、读取文件 获取原始数据

// TODO 2、扁平化 将原始数据拆分为一个个单词

// TODO 3、对单词进行分组操作

// TODO 4、对分组后的数据进行数量的统计

// TODO 5、将统计结果打印

1.3、编码实现

object Scala_Collection04_WordCount {
   
  def main(args: Array[String]): Unit = {
   
    // TODO word count案例

    // TODO 1、读取文件 获取原始数据
    val source: BufferedSource = Source.fromFile("data/word.txt")
    val array: Array[String] = source.getLines().toArray // 将每一行的数据 放到一个数组中
    source.close()

    // TODO 2、扁平化 将原始数据拆分为一个个单词
    val flatMap = array.flatMap(line => line.split(" "))

    // TODO 3、对单词进行分组操作
    val wordGroup: Map[String, Array[String]] = flatMap.groupBy(word => word)

    // TODO 4、对分组后的数据进行数量的统计
    // 如果数据在转换的时候无需对key进行操作,只针对value进行处理,可以使用mapValues方法
    val wordCount: Map[String, Int] = wordGroup.mapValues(v => v.size)

    // TODO 5、将统计结果打印
    println(wordCount)

  }
}

在这里插入图片描述

如果非要使用map进行映射则可以这样写

// 使用map
val count = wordGroup.map(
  t => {
   
    val k = t._1
    val v = t._2
    (k, v.size)
  }
)

写法二:

object Scala_Collection04_WordCount2 {
   
  def main(args: Array[String]): Unit = {
   
    // TODO word count案例
    val list = L
  • 49
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 67
    评论
评论 67
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值