Windows下使用intellij中搭建Spark开发环境并编写spark应用程序

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序!!!

  • 最近学习spark,因为hadoop集群搭建在虚拟机中,因为电脑配置不足,同时开启虚拟机和启动intellij基本就卡爆了,所以在虚拟机中没有安装开发工具。每次写代码都特别的不方便,所以就想直接使用windows中安装intellij然后搭建一个spark环境,这样就能够更方便的测试spark应用程序代码。
  • 由于自己刚开始接触Spark,所以走了很多弯路,查阅了很多资料,也按照网上的一些方法做过,但是基本都是五花八门,对于我个人的问题并没有得到解决,自己慢慢摸索,终于问题得到解决,故此抽时间整理了成博客,以便以后参考!

 

想在intellij中编写spark应用程序,首先要在intellij中安装scala插件:

1.在intellij中点击file==》setting出现如下界面:

选择plugins选项,然后在搜索框中输入scala,搜索到结果后点击install(因为我已经安装过了所以显示的是uninstall,没有安装过会显示install)   ,安装完成后一般都要重启intellij然后插件生效。

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第1张图片

2.安装完scala插件后,重启intellij。然后新建一个scala项目,编写scala代码测试

①.new一个project

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第2张图片

②.选择scala和sbt,然后next

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第3张图片

③.输入项目名称以及存储位置后点击finish,这样我们的一个scala项目就建好了,接下来就开始用scala编写一个hello程序

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第4张图片

④.新建号的工程结构如下:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第5张图片

3.编写scala代码

①.在src下的main下的scala下新建一个包com.test,在包中新建一个单例对象Hello

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第6张图片

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第7张图片

②.建好单例对象以后,开始编写测试代码:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第8张图片

③.在代码中右击,点击run,运行该单例对象,输出Hello Scala!!!:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第9张图片

 

以上scala环境就配置完毕!下面是spark环境搭建:

如果我们仅仅是搭建了scala环境,然后在代码中调用了spark API,则intellij不能识别该API,需要在intellij中引入有关的sparkjar包。

举个例子:新建一个名为Demo01的单例对象,在该对象中导入相关的spark包,intellij不能识别

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第10张图片

 

所以,此时我们应该导入相关的jar包:

①.在官网去下载相关包,选择一个合适的版本下载:https://spark.apache.org/downloads.html

        下载地址:https://spark.apache.org/downloads.html

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第11张图片

②.下载完毕后,解压该压缩包:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第12张图片

 

③.在intellij中打开project structure(快捷键:shift+Ctrl+alt+s),选中modules添加相关依赖:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第13张图片

④.将你刚刚解压目录中的jars目录选中,然后点击ok。此时再调用spark API就不会报错了

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第14张图片

 

结果图:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第15张图片

该示例程序的作用是统计hello.txt文件中的每行第四个数据的前五名:

E:/input/SparkInput/input1/hello.txt

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第16张图片

 

运行结果图:

Windows下使用intellij中搭建Spark开发环境并编写spark应用程序_第17张图片

实例代码如下:

package com.test

/**
  * Created by Administrator on 2018/12/14.
  */
import org.apache.spark.{SparkConf, SparkContext}
object Demo01 {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("TopN").setMaster("local")
    val sc = new SparkContext(conf)
    sc.setLogLevel("ERROR")
    val lines =
      sc.textFile("file:///E:\\input\\SparkInput\\input1",2)
    var num = 0;
    val result = lines.filter(line => (line.trim().length > 0) && (line.split(",").length == 4))
      .map(_.split(",")(2))
      .map(x => (x.toInt,""))
      .sortByKey(false)
      .map(x => x._1).take(5)
      .foreach(x => {
        num = num + 1
        println(num + "\t" + x)
      })
  }
}

 

 

你可能感兴趣的:(Hadoop云计算/大数据)