Windows下Spark單機環境配置

一、 環境配置html

a)  java環境配置:java

JDK版本爲1.7,64位;python

環境變量配置以下:c++

JAVA_HOME爲JDK安裝路徑,例如D:\software\workSoftware\JAVAsql

在path中添加「%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;」apache

在CLASSPATH中添加「.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;」eclipse

b)  scala環境配置編輯器

scala版本爲2.10,由於Spark 1.6.0用的是這個版本;oop

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的插件。

二、 第一個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 import  org.apache.spark.sql.SQLContext
12 object WordCount {
13   def main(args: Array[String]) {
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[4]")
18     val sc = new SparkContext(conf)
19     val sqlContext = new SQLContext(sc)
20     val  data=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)

相關文章
相關標籤/搜索