Spark之IntelliJ IDEA搭建与spark应用程序创建与运行(本地运行)

一:Linux上IntelliJ IDEA安装

1:下载IntelliJ IDEA.JetBrains共提供了两个版本:社区版(免费开源)和终极版(专非有免费),下载后将压缩文件移至用户主目录下,在此事例中即master节点的/home/mark/

执行下述命令对ideaIC-2018.1.tar.gz进行压缩,得到文件夹idea-IC-201814,为方便操作将其重命名为idea1814

$ tar -zvxf ideaIC-2018.1.tar.gz
$ mv idea-IC-201814 idea1814

2:配置IntelliJ IDEA

通过下述命令进入idea1814目录,打开IntelliJ IDEA

$ cd idea1814
bin/idea.sh

如果先前已安装IntelliJ IDEA,并希望保留其配置,那么可以选择第一个选项,并指定版本的配置文件夹;若是初次安装,则需要选择第二个选项。




用户可以设定IntelliJ IDEA的主题风格


下图要求用户选择是否将IntelliJ IDEA与系统应用程序菜单集成。若不勾选该选项,则用户需要手动执行idea.sh脚本开启IntelliJ IDEA。



下图,用户可以选择所需的工具,包括构建工具、版本控制工具以及许多其他工具。


3:安装Scala插件

下载scala-intellij-bin-2018.1.8.zip,并将其移至用户主目录下

mv scala-intellij-bin-2018.1.8.zip /home/mark

在下图所示窗口中单击“Configure”下拉菜单中的“Plugins”选项。


在弹出的窗口中选择从本地磁盘安装导入安装Scala插件

找到scala-intellij-bin,所在目录,单击导入,如下图,



重新启动IntelliJ IDEA,如下图


至此,Linux上的IntelliJ IDEA的搭建安装完成


二:创建Spark应用程序

如果是初次安装IntelliJ IDEA,在弹出界面中点击“Create a New Project”直接进入Project创建过程,如下图所示

如果先前已安装IntelliJ IDEA,也可以在File菜单下单击“New”->"New Project"命令,进入Project创建过程

1:创建Project

如果是初次安装IntelliJ IDEA,在弹出界面中点击“Create a New Project”直接进入Project创建过程

         

如果先前已经安装IntelliJ IDEA,也可在File菜单下单击“New”->"New Project"命令进入Project创建过程


2:选择“IDEA”


3:设置相关Project名称、相关目录与版本信息。其中Project SDK需要通过“New...”设置为JDK的路径;Scala SDK需要通过“Create...”设置为Scala的路径




4:创建Project的目录结构

单击“File”->"Project Structure..."


在弹出的窗口中单击“Modules”命令,在对应的右侧窗口中,选中“src”文件夹并单击右键,选择“New Folder...”命令,创建“main”文件夹,如下图。同样的步骤,再选中“main”,在其中分别创建“java”、“resources”、"scala"文件夹,然后通过“Mark as”设置文件夹属性,目录结构如下图。




5:添加Spark依赖包

虽然已经在IntelliJ IDEA中创建了Project,但是Project还不能识别Spark类,因此需要将Spark相应的依赖包添加进其中。首先单击“File”->"Project Structure..."在打开的窗口中点击“Libraries”命令,再单击“+”,在菜单中选择“java”,如下图。找到安装Spark集群时解压出来的“spark-1.4.0-bin-hadoop2.4”文件夹,并将其lib目录下相应的jar包导入,如下图。




6:创建Scala Object

在左侧的Project目录结构中选中创建的包“mark.spark”,单击右键选择“New”->"Scala Class","Kind"表示类型,选择“Object”



三:Spark应用程序部署

下面对HDFS上file.txt文件中的字母“a”进行统计个数

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

object SimpleApp {
  def main(args:Array[String]): Unit = {
    val logFile="hdfs://master:9000/work/file.txt"
    val conf = new SparkConf().setAppName("Simple Application").setMaster("local[2]")
    val sc=new SparkContext(conf)
    val logData=sc.textFile(logFile,2).cache()
    val num=logData.flatMap(x=>x.split(" ")).filter(_.contains("a")).count()
    println("Words with a : %s".format(num))
    sc.stop()
  }
}

setMaster()用于设置应用程序的运行方式,在该示例中setMaster()设置为“local[2]”,表示应用程序将以本地模式运行,并使用两个核心。

在窗口的空白处单击右键,选择“Run 'SimpleApp'”



猜你喜欢

转载自blog.csdn.net/mmake1994/article/details/79866971