IDEA增加Spark依赖关系及其简单使用-词频统计

修改 Maven 项目中的 POM 文件,增加 Spark 框架的依赖关系,使用时请注意对应版本。

<dependencies>
    <!--spark依赖,注意版本号-->
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.12</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>

代码:


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

object Spark02_WordCount {
    
    
    def main(args: Array[String]): Unit = {
    
    
        // 1.建立和Spark框架的连接
        var sparkConf = new SparkConf().setMaster("local").setAppName("WordCount")
        var sc = new SparkContext(sparkConf)
        // 2.执行业务操作

        // 2.1读取文件,获取一行一行的数据
        val lines:RDD[String] = sc.textFile("datas")
        // 2.2将每行数据切分,形成一个一个的单词
        val words:RDD[String] = lines.flatMap(_.split(" "))
        val word2One: RDD[(String, Int)] = words.map(
            word => (word, 1)
        )
        // 2.3 4 spark可以将分组和聚合使用同一个方法实现
        // word2One.reduceByKey((x,y) => {x+y})
        // word2One.reduceByKey((x,y) => x+y)
        val word2Count: RDD[(String, Int)] = word2One.reduceByKey(_ + _)

        // 2.5打印结果
        val tuples: Array[(String, Int)] = word2Count.collect()
        tuples.foreach(println)

        //3. 关闭连接
        sc.stop()
    }
}

其中datas下面分别有两个txt文件(1.txt与2.txt),文件里面保存了需要统计的文本,datas文件夹要保存到项目的根目录下。
运行结果会打印出每个单词及其出现的个数,每个单词及其出现个数组成一个元组。

猜你喜欢

转载自blog.csdn.net/qq_45097352/article/details/119358058