Spark_Core实例学习(三)SparkWordCount分析

本文档详细介绍了如何在IntelliJ IDEA中搭建Spark本地运行环境,包括从官方网站下载并解压Spark压缩包,然后将jar包导入项目。接着展示了WordCount的基本编程,通过`textFile()`读取数据,`flatMap()`进行扁平化处理,`map()`转换为二元组,最后`reduceByKey()`进行数据聚合。整个过程清晰地解释了WordCount的执行流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建spark本地的运行环境

idea具体操作

下载spark的压缩包
https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop3.2.tgz

在这里插入图片描述
解压下载好的spark,找到spark的路径,将jars文件夹下的jar包导入
在这里插入图片描述
导入之后就能使用spark了

WordCount编程

import org.apache.spark.{SparkConf, SparkContext}

/**
 1. @author 公羽
 2. @time : 2021/5/9 16:46
 3. @File : learn2.java
 */
object learn2 {
  def main(args: Array[String]): Unit = {
    val config = new SparkConf().setAppName("test1").setMaster("local[6]").set("spark.driver.host","localhost")
    val sc  = new SparkContext(config)
    val rdd1 = sc.textFile("C:\\Users\\lenovo\\Desktop\\test.txt")
//    flatMap[U: ClassTag](f: T => TraversableOnce[U]):
    //    RDD[U]
    val rdd2 = rdd1.flatMap(x => x.split(",")).map(line => line -> 1).reduceByKey(_ + _)
    rdd2.foreach(lines => println(lines))
  }
}

在这里插入图片描述

原理分析

基本流程:

  1. 先是textFile()读取到数据
  2. 将数据输送给flatMap()进行扁平化处理
  3. 处理完后再将数据输送给map()进行二元组化
  4. 最后根据reduceBykey()进行组合
    下一步都会用到上一步的结果
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值