美文网首页
Winodws安装Spark

Winodws安装Spark

作者: 摄景追风 | 来源:发表于2018-02-04 20:05 被阅读0次

    最近开始弄毕设,要求用spark。废了很久时间装上了和大家分享下。

    前言

    简单来说,安装JDK,安装IntelliJ Idea,安装Scala插件,在build.sbt中声明Spark依赖,等IDE下载依赖,安装Hadoop,下载winutils.exe,安装完成。
    具体来说,spark是用scala编写的,所以我们要先安装scala。跑scala要用java,所以我们要先安装java。安装看下面。

    安装步骤

    java

    java网站下载jdk8。记住是jdk8不是jdk9。截至到写文章的时候,我还没搞懂为什么装jdk9的话,在跑scala时候不工作。打开windows的控制台,测试java,我的显示是这样。

    C:\Users\winwin>java -version
    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
    
    C:\Users\winwin>javac -version
    'javac' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    

    虽然javac出不来,但是后来一直可以跑程序,也没报错。不打算处理了

    Scala

    打开scala网站,点Download。可以看到有两种,一种命令行版,一种IDE版,我本来打算用命令行版的,但是发现我能力范围内的编辑器编scala都太费劲了,遂决定用IntelliJ

    scala下载

    去下载InetlliJ,有社区版的,如果有edu邮箱的话可以申请学生免费。

    跟着向导安装,有一页问你是否要装一些插件,里面有scala,记得勾上。

    目前为止,你应该有

    • 一个可以用的jdk8
    • 一个安装了scala插件的IntelliJ

    Spark

    说是安装,其实可以直接吧spark理解为一个scala库。在新建项目的时候声明下依赖就可以,IDE会帮你自动下载的。

    新建一个scala项目,右面选sbt。sbt全称是scala build tool。下一步


    新建项目

    这里选各种库的版本。截图里JDK是1.8,但是默认应该是空的,可以在右面New里面选你的jdk安装文件夹。sbt用新的。Spark2.2+用的是Scala2.11,没试过2.12行不行,我选的2.11,有兴趣的话你可以试试看。具体的版本选择可以参考Spark网站,需要保证JDK、Scala、Spark版本相对应。

    选版本

    完成后目录应该是这样的。


    项目目录

    先别看底下的dump巴拉巴拉。打开build.sbt,添加一句话,告诉IDE你要用Spark了

    libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.2.1"
    

    保存。然后等着IDE下载Spark

    等下载Spark

    这时候你可以出去吃个饭/看个电影/出去陪女票逛个街之类的

    等下载好了之后你会看到一堆External Libraries

    Hello World

    project/src/main/scala下新建一个Scala Class,内容如下

    import org.apache.spark.{SparkConf, SparkContext}
    
    /**
      * Created by Jan on 2016/12/19.
      */
    object Helloworld {
    
      def main(args: Array[String]) {
        if(args.length!=2) {
          println("error : too few arguments")
          sys.exit(1)
        }
        val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
        val filePath = args(0)
        val sc = new SparkContext(conf)
        val file = sc.textFile(filePath, 2).cache()
        val counts = file.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
        counts.saveAsTextFile(args(1))
      }
    }
    

    project/新建一个word.txt内容如下

    apple banana
    banana banana
    

    右上角点击下拉菜单,编辑设置


    编辑设置

    设定启动参数,在参数里写上word.txt counts.txt

    修改启动参数

    运行程序

    运行程序
    会出现这个报错,因为windows上运行hadoop的问题(具体我也没看是什么情况)
    报错
    Hadoop网站下载Hadoop,放在C:\hadoop-2.7.5\下(我的版本是2.7.5,你的可能不一样)
    添加C:\hadoop-2.7.5\到环境变量,叫做HADOOP_HOME。再添加C:\hadoop-2.7.5\binPATH
    下载winutils.exe地址1地址2。放到C:\hadoop-2.7.5\bin
    再次运行程序。
    运行结果
    多出了一个conuts.txt文件夹,里面的part-000000part-000001就是结果。
    //part-000000
    (apple,1)
    
    //part-000001
    (banana,3)
    

    安装完成

    睡觉去,希望哪里有错误的话随时评论,我会尽快修改的。

    参考

    1. http://www.cnblogs.com/yongjian/p/6211007.html
    2. 学长给我的pdf,原谅我不知道这pdf谁写的

    相关文章

      网友评论

          本文标题:Winodws安装Spark

          本文链接:https://www.haomeiwen.com/subject/lgxvzxtx.html