zoukankan      html  css  js  c++  java
  • Intellij Idea搭建Spark开发环境

    Spark高速入门指南 – Spark安装与基础使用中介绍了Spark的安装与配置。在那里还介绍了使用spark-submit提交应用。只是不能使用vim来开发Spark应用。放着IDE的方便不用。这里介绍使用Intellij Idea搭建Spark的开发环境。

    1、Intellij Idea的安装

    因为Spark安装在Ubuntu环境中。这里的Idea也安装在Ubuntu中。首先是下载,到官网下载就可以。下载完后解压到待安装的文件夹:

    sudo tar -zxvf ideaIU-2016.1.tar.gz -C /usr/local/

    我解压在了/usr/local文件夹下,然后更改文件夹名:

    mv ideaIU-2016.1 idea
    然后改动文件的用户和用户组:

    sudo chown -R hadoop:hadoop idea
    这里的hadoop是我的username和组名。这样idea就成功安装了。

    为了启动idea,进入idea/bin文件夹。运行里面的idea.sh:

    bin/idea.sh
    这样就能够启动idea。只是这样不方便。能够在桌面新建文件idea.desktop,输入例如以下内容:

    [Desktop Entry]
    Name=IdeaIU
    Comment=Rayn-IDEA-IU
    Exec=/usr/local/idea/bin/idea.sh
    Icon=/usr/local/idea/bin/idea.png
    Terminal=false
    Type=Application
    Categories=Developer;
    这样就创建了一个桌面快捷方式。

    2、maven的安装与配置

    Maven 是一个项目管理和构建自己主动化工具。作为一个程序猿,都有过为了使用某个功能而在项目中加入jar包的经历,使用的框架多了。须要加入的jar包也多,而maven可以自己主动为我们加入须要的jar包。

    首先在maven官网上下载maven:

    下载之后在Downloads文件夹下有例如以下文件:

    liu@Binja:~/Downloads$ ls
    apache-maven-3.3.9-bin.tar.gz
    解压到待安装的文件夹:

    liu@Binja:~/Downloads$ sudo tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
    相同,改动目录名和username:

    liu@Binja:/usr/local$ sudo mv apache-maven-3.3.9/ maven
    liu@Binja:/usr/local$ sudo chown -R liu:liu maven
    liu@Binja:/usr/local$ ll maven
    total 52
    drwxr-xr-x  6 liu  liu   4096  3月 28 20:24 ./
    drwxr-xr-x 12 root root  4096  3月 28 20:26 ../
    drwxr-xr-x  2 liu  liu   4096  3月 28 20:24 bin/
    drwxr-xr-x  2 liu  liu   4096  3月 28 20:24 boot/
    drwxr-xr-x  3 liu  liu   4096 11月 11 00:38 conf/
    drwxr-xr-x  3 liu  liu   4096  3月 28 20:24 lib/
    -rw-r--r--  1 liu  liu  19335 11月 11 00:44 LICENSE
    -rw-r--r--  1 liu  liu    182 11月 11 00:44 NOTICE
    -rw-r--r--  1 liu  liu   2541 11月 11 00:38 README.txt
    liu@Binja:/usr/local$ 
    然后将maven加入到环境变量中:

    sudo vim ~/.bashrc
    在最后加入以下的内容:

    export PATH=$PATH:/usr/local/maven/bin

    使更改生效:

    liu@Binja:/usr/local$ source ~/.bashrc
    这样maven就安装好了。

    3、用刚安装的maven配置idea

    起始idea自带了maven,这里配置自己安装的maven。

    一次选择File->Setting->Build,Execution,Deployment->Build Tools->Maven,例如以下图:


    在右側里的Maven home directory里设置Maven的安装文件夹。就我这里是/usr/local/maven,在User settings file里设置Mavne的配置文件。我这里使用默认的文件。在Local repository里设置本地包的管理仓库,选择右側的Override后,能够自己定义自己的仓库文件夹,以后Maven自己主动下载的包就会存放在这里。

    单击OK后maven就配置完了。

    然后就能够创建一个maven项目。

    4、创建maven项目

    依次选择File->New->New Project。出现例如以下界面:


    左側能够选择项目的类型,这里选择Maven。右側能够选择是否使用模板,勾选上面的Create from archetype后。就能够在以下选择项目模板,这里选择Scala的模板。

    一路next之后。这里填一下groupID和artifactID。名字随便取:


    然后一路next,填写上项目的名字,OK就能够了。

    这样新项目就创建成功了,新项目的文件结构例如以下图:


    当中的pom.xml就是配置我们项目的依赖包的。src是项目存放代码的文件夹,以下有两个结构同样的文件夹main和test,当中我们在main文件夹下编写代码,test编写測试代码。这里先不使用測试,能够将test文件夹删除。

    右側展示的就是pom.xml文件的内容:


    勾选右上角的Enable Auto-Import,这样Idea就会自己主动下载项目所需的依赖包。还要注意中间的Scala版本号,选择自己使用的版本号。

    在下图中的dependencies标签下能够加入项目的依赖:


    每个依赖都在一个dependency标签下,当中包含groupID、artifactID和version。假设不知道依赖包的这些内容的话,能够在这里进行查询,查询结果就有这些信息。比方要查询spark的依赖,有例如以下的结果:


    选择要加入的依赖。进入后选择对应的版本,以下就有maven须要的一些信息,同一时候还包含其他包管理工具的信息,比方sbt:


    就能够拷贝到pom.xml文件里了。

    maven会自己主动下载pom.xml中加入的依赖包。不用我们自己加入,省去了非常多麻烦。

    之后就能够写代码了,在src/main/scala/com/liu下新建Scala类,选择类型为Object,填写类名。就能够编写代码了。作为演示样例。这里是一个wordcount的样例:

    package com.liu
    
    /**
      * Created by hadoop on 16-3-28.
      */
    import org.apache.spark.{SparkContext,SparkConf}
    object Test {
      def main(args:Array[String]): Unit ={
        val conf=new SparkConf()
        val sc=new SparkContext(conf)
        val text=sc.textFile("file:///usr/local/spark/README.md")
        val result=text.flatMap(_.split(' ')).map((_,1)).reduceByKey(_+_).collect()
        result.foreach(println)
      }
    }
    这里不介绍代码的详细含义。

    代码写好后,须要生成jar包并提交到spark上执行。

    以下的步骤来生成jar包。依次选择File->Project Structure->Artifacts。例如以下图:


    单击中间的绿色加号。选择JAR->from modules with dependencies。例如以下图:


    在Main Class中选择项目的主要类,OK就可以。结果例如以下:


    中间的Output Layout会列出全部的依赖包,我们要提交到Spark上,所以不须要这里的Spark和Hadoop依赖包,删除来节约空间。只是不要删除最后的compile output,要不然就生不成jar包了。点击OK完毕配置。

    之后选择Build->Build Artifact->Build,就能够生成jar包了,结果例如以下图:


    上图中多了一个out目录。以下有一个jar包。表明生成成功。

    5、提交Spark应用

    生成了jar包后就能够使用spark-submit来提交应用了,使用例如以下命令:

    spark-submit --class "com.liu.Test" ~/SparkDemo.jar
    就能够提交应用。结果例如以下:


    表明执行成功。列出了单词的计数统计。

    至此,Spark的Idea开发环境搭建成功。

  • 相关阅读:
    Java 开发 gRPC 服务和客户端
    Springcloud中的region和zone的使用
    Spring Boot中使用AOP记录请求日志
    JDK1.8中的Lambda表达式和Stream
    机器学习之SVM
    机器学习之决策树
    【iOS开发】emoji表情的输入思路
    block为什么要用copy,runtime的简单使用
    swift和oc混编
    iOS之AFN错误代码1016(Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable)
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7364508.html
Copyright © 2011-2022 走看看