ezeke 发表于 2017-3-2 11:08:53

Windows下Spark单机环境配置

1、 环境配置
a)java环境配置:
JDK版本为1.7,64位;
环境变量配置如下:
JAVA_HOME为JDK安装路径,例如D:\software\workSoftware\JAVA
在path中添加“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”
在CLASSPATH中添加“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”
b)scala环境配置
scala版本为2.10,因为Spark 1.6.0用的是这个版本;
SCALA_HOME为scala安装路径,例如D:\software\workSoftware\Scala
在path中添加“%scala_Home%\bin;%scala_Home%\jre\bin;”
在CLASSPATH中添加“.;%scala_Home%\bin;%scala_Home%\lib\dt.jar;%scala_Home%\lib\tools.jar.;”
c)   Hadoop下载和配置
Hadoop版本为2.6.0 or upper,我的是2.6.3
下载地址:http://apache.fayea.com/hadoop/common/hadoop-2.6.3/hadoop-2.6.3.tar.gz
下载后解压
另下载一个:winutils.exe,这个百度既有;
下载后,把winutils.exe放在bin目录下;
配置 HADOOP_HOME,为解压地址,例如:“D:\software\workSoftware\hadoop-2.6.3”
在path中添加““%HADOOP_HOME\bin%;”
d)Spark下载和配置
下载页面:http://spark.apache.org/downloads.html
Spark release选择1.6.0
package type是:Pre-built for Hadoop 2.6 and later
我选择的mirror地址:http://apache.fayea.com/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz
下载后解压
e)Scala IDE
然后,如果你有Scala编辑器的话,就可以愉快的去玩耍;我使用的是IntelliJ IDEA 15.0,自行安装一个scala的插件。
2、 第一个Spark程序
a)新建一个scala的项目,添加Spark目录下\lib\ spark-assembly-1.6.0-hadoop2.6.0.jar到项目依赖的jar包;
b)在src文件夹下新建一个scala script文件,测试你的第一个Spark程序吧




1 package com.iclick
2 /**
3   * Created by Shawn_Liu on 2016/3/4.
4   */
5
6 import org.apache.log4j.{Level, Logger}
7 import org.apache.spark.{SparkContext, SparkConf}
8 import org.apache.spark.mllib.regression.LinearRegressionWithSGD
9 import org.apache.spark.mllib.regression.LabeledPoint
10 import org.apache.spark.mllib.linalg.Vectors
11 importorg.apache.spark.sql.SQLContext
12 object WordCount {
13   def main(args: Array) {
14   // 屏蔽不必要的日志显示终端上
15   Logger.getLogger("org.apache.spark").setLevel(Level.ERROR)
16   Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF)
17   val conf = new SparkConf().setAppName("wordcount").setMaster("local")
18   val sc = new SparkContext(conf)
19   val sqlContext = new SQLContext(sc)
20   valdata=sc.textFile("D:\\Download\\wordcount.txt")
21   data.map(word=>(word,1)).reduceByKey(_+_).foreach(println)
22   println("-----------------分割线--------")
23   data.map(_.toUpperCase()).map(word=>(word,1)).reduceByKey(_+_).foreach(println)
24   }
25 }

为了运行以上代码,我在D:\Download\下新建了一个文本文件wordcount.txt,输入了以下内容:
java
c++
c
SAS
sas
scala
python
PYHTHON
JAVA
java
Java


最终运行结果如下:
(c++,1)
(scala,1)
(sas,1)
(python,1)
(SAS,1)
(JAVA,1)
(c,1)
(JAva,1)
(java,2)
(PYHTHON,1)
-----------------分割线--------
(C++,1)
(C,1)
(SAS,2)
(SCALA,1)
(JAVA,4)
(PYTHON,1)
  (PYHTHON,1)
页: [1]
查看完整版本: Windows下Spark单机环境配置