Winodws安装Spark

最近开始弄毕设,要求用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

Winodws安装Spark_第1张图片
scala下载

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

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

目前为止,你应该有

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

Spark

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

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


Winodws安装Spark_第2张图片
新建项目

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

Winodws安装Spark_第3张图片
选版本

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


Winodws安装Spark_第4张图片
项目目录

先别看底下的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

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


Winodws安装Spark_第5张图片
编辑设置

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

Winodws安装Spark_第6张图片
修改启动参数

运行程序

Winodws安装Spark_第7张图片
运行程序

会出现这个报错,因为windows上运行hadoop的问题(具体我也没看是什么情况)
Winodws安装Spark_第8张图片
报错

去 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
再次运行程序。
Winodws安装Spark_第9张图片
运行结果

多出了一个 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)