欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spark学习的第一个程序WordCount

程序员文章站 2024-02-21 21:09:16
...

这里使用的开发工具时Idea,语言是Scala

学习Spark的第一个程序worldCount

  • 新建maven项目
    不清楚如何创建maven项目的可以点击这里(前六步)
  • 配置pom.xml文件
<!- 在原有基础上添加以下内容,下面使用的版本需要根据自己使用的版本进行修改>
<dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>2.11.8</version>
    </dependency>

    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_2.11</artifactId>
      <version>2.1.1</version>
    </dependency>
    
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.21</version>
    </dependency>
  • 引入scala SDK
    Spark学习的第一个程序WordCount

  • 现在即可创建scala Class
    Spark学习的第一个程序WordCount

  • 点击后选择Object
    Spark学习的第一个程序WordCount

  • 现在即可在里面进行编写Spark程序

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

object WordCount {
  def main(args: Array[String]): Unit = {
  	
    val conf:SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordcount")
    
    val sc:SparkContext = SparkContext.getOrCreate(conf)

    val rdd1:RDD[String] = sc.parallelize(List("hello world","hello java","hello scala"))
    
    rdd1.flatMap(x=>x.split(" ")).map((_,1)).reduceByKey(_+_).collect.foreach(println)
    
    }
}
//输出结果
(hello,3)
(java,1)
(world,1)
(scala,1)