使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

前一篇文章中已经完成了Scala开发环境的搭建,并且在IDEA中安装好了Scala 插件。本文将进行词频统计Spark应用的Scala版本开发。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

一、创建新的Maven模块

在现有的父项目中,创建一个新的scala 模块,用于编写词频统计Spark应用,如图所示。选择左侧的Maven(或者下面的Scala),点击【Next】按钮。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

然后,输入模块名称(Name):ScalaWordCount,如图所示,点击【Finish】按钮就创建好了。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

二、将scala框架添加到项目

在IDEA启动后进入的界面中,可以看到界面左侧的项目界面,已经有一个名称为WordCount的工程。请在该工程名称上右键单击,在弹出的菜单中,选择Add Framework Surport 。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

在弹出的Add Frameworks Support 窗口中,左侧有一排可勾选项,找到scala,勾选即可。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

三、添加spare-core依赖包

在ScalaWordCount 模块的pom.xml 文件中,添加spare-core依赖项,如下所示:

<dependency>    <groupId>org.apache.spark</groupId>    <artifactId>spark-core_2.12</artifactId>    <version>3.2.1</version></dependency>

{!– PGC_COLUMN –}

  <version>3.2.1</version></dependency>

注意:选择的scala版本,需要和本地环境中的scala 版本保持一致。如果不一致,在编译的时候会报错。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

四、创建Scala应用

在ScalaWordCount 子模块中,新建包名:com.rickie.spark3,如图所示。然后,创建一个新的Scala Class。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

Name 中输入ScalaWordCount,类型选择Object。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

Scala类中没有Java那样的静态成员。Scala使用 object 关键字定义单例对象(Singleton Object)。单例对象的定义和类定义类似,只是用object关键字替换了class关键字。

如果对Scala 语句有学习兴趣,可以访问《Scala开发快速入门》技术专栏。该专栏适合想要快速入门Scala语言,基于Spark/Flink进行大数据开发的读者。

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

ScalaWordCount 的完整代码如下所示:

package com.rickie.spark3import org.apache.spark.{SparkConf, SparkContext}object ScalaWordCount {  def main(args: Array[String]): Unit = {    val inputFile = \"./data/wordcount.txt\"    val conf = new SparkConf().setAppName(\"Scala Word Count\").setMaster(\"local\")    val sc = new SparkContext(conf)    val textFile = sc.textFile(inputFile).cache()    val wordCount = textFile.flatMap(line => line.split(\"s \"))      .map(word => (word, 1))      .reduceByKey((x, y) => x y)    wordCount.foreach(println)    sc.stop()  }}

和之前Java版本的代码相比,代码简洁很多。

五、启动ScalaWordCount

启动ScalaWordCount中的main()方法,正常运行之后,在Console控制台可以看到如下输出结果:

使用开发工具IntelliJ IDEA编写词频统计Spark应用程序-Scala版本

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月28日 上午9:13
下一篇 2023年4月28日 上午9:29

相关推荐