浅浅尝试用Spark实现一下WordCount

226 阅读1分钟

首先,我们得先安装Scala(我安装的是2.11.0版本滴),下载地址

image.png 既然要开发spark项目,那我们来添加一下spark的maven依赖

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.4.8</version>
</dependency>

如图,这样就添加好啦

image.png

idea里面是可以创建Scala项目的,操作如图:

image.png

image.png

image.png 来浅浅写下scala代码

package com.bigdata.spark

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

/**
 * @author 陈惜时
 * @contact Scala contact
 * @created time 2023-01-29
 */
object MyScalaWordCount {
  def main(args: Array[String]): Unit = {
    if(args.length < 2){
      System.err.println("Usage:MyScalaWordCount <input> <output>")
      System.exit(1)
    }

    val input = args(0)
    val output = args(1)

    val conf = new SparkConf().setAppName("MyScalaWordCount").setMaster("local[2]")
    val sc = new SparkContext(conf)

    val lines = sc.textFile(input)
    val resultRDD = lines.flatMap(_.split("\s+")).map((_,1)).reduceByKey(_+_)

    resultRDD.saveAsTextFile(output)

    sc.stop()

  }
}

运行前,我们来解决一下input&output(我本地创建了一个名为words.log的txt文件)的问题

image.png 打开,let me see

image.png 现在来看看idea咋搞

image.png

image.png 我创建的output是新文件夹(记得创建哦)
到这里已经完成啦
启动!

image.png 最开心就是可以看见 Process finished with exit code 0

image.png 运行完之后,就是来看看本地的output文件夹

image.png

image.png

image.png 这就是spark实现wordcount的过程啦