当前位置:   article > 正文

使用Intellij IDEA编写Spark应用程序

使用Intellij IDEA编写Spark应用程序

使用Intellij IDEA来编写Spark应用程序能提高我们的编程效率

首先下载Intellij IDEA的安装包,在此我选择2021.2.2

其他版本 - IntelliJ IDEA

 

下载完毕以后,使用共享文件夹将其共享到Ubuntu虚拟机上

下载下来的文件名为:ideaIU-2021.2.2.tar.gz

共享文件夹的路径为:/mnt/hgfs/ubuntu-share

因此,执行以下命令:

》cd /mnt/hgfs/ubuntu-share

》sudo cp ideaIU-2021.2.2.tar.gz /usr/local/idea

上述命令将共享文件夹中的idea安装包拷贝到了/usr/local/idea目录下

(/usr/local下若没有idea文件夹,需要自己创建一下)

解压安装包

》sudo tar -zxvf ideaIU-2021.2.2.tar.gz

解压完成以后产生了一个名为idea-IU-212.5284.40的文件夹

接下来需要安装idea,跳转到idea的bin目录下

》cd idea-IU-212.5284.40/bin/

》sudo ./idea.sh

将会跳出idea安装向导的对话框

下一步下一步后:

点击evaluate for free,出现剩下的免费体验时间为30days

 

 

 点击右下角的设置按钮,可以创建idea的桌面入口

 此时idea就已经安装完成了

但是,要使用idea来开发spark应用程序,还需要对idea进行个性化的配置。

首先需要安装Scala的插件

打开插件页面,搜索Scala,如图所示即为我们需要的插件

 

点击install即可开始下载安装Scala插件

下载完毕以后,需要重启idea以加载该插件

 

插件安装完毕之后,就可以开始构建基于SBT的Scala项目了

创建新项目

 菜单中选择Scala,点击上方的sbt

 

创建一个SBT项目

JDK选择我们一开始安装的jdk8的路径

Sbt版本我们选用与本地下载版本相同的版本

由于我们使用的是spark2.4.5,对应的scala版本为2.11.12

 

点击Finish即可创建完成

创建完成以后,产生的空白项目会具备如下的项目结构:

 

 编辑Intellij IDEA项目中的build.sbt,补充如下内容

 

等待项目初始化完毕,可以创建WordCount实例验证项目是否可以正常开发、编译和运行

这里需要注意,在Intellij Idea启动时,会执行“dump project structure from sbt”的操作,也就是把sbt所需要的项目结构从远程服务器拉取到本地,在本地会生成sbt所需要的项目结构。由于是从国外的远程服务器下载,所以,这个过程很慢,笔者电脑上运行了15分钟。这个过程没有结束之前,上图中的“File->New”弹出的子菜单是找不到Scala Class这个选项的。所以,一定要等“dump project structure from sbt”的操作全部执行结束以后,再去按照上图操作来新建Scala Class文件。

创建一个WordCount.scala文件,写入如下内容:

 

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.SparkConf

import org.apache.log4j.{Level,Logger}

object WordCount {

  def main(args: Array[String]) {

    //屏蔽日志

    Logger.getLogger("org.apache.spark").setLevel(Level.WARN)

    Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)

    val inputFile =  "file:///usr/local/spark-2.4.5-bin-hadoop2.7/mycode/wordcount/word.txt"

    val conf = new SparkConf().setAppName("WordCount").setMaster("local[2]")

    val sc = new SparkContext(conf)

    val textFile = sc.textFile(inputFile)

    val wordCount = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)

    wordCount.foreach(println)

  }

}

右键执行该.scala文件,得到如下输出

 这样,可以确定idea已经在ubuntu上安装成功并且能够进行spark应用程序的开发

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/589500
推荐阅读
相关标签
  

闽ICP备14008679号