【Spark機器學習速成寶典】基礎篇01Windows下spark開發環境搭建(Scala版)


目錄

  安裝jdk

  安裝Scala IDE for Eclipse

  配置Spark

  配置Hadoop

  創建Maven工程

  Scala代碼

  條目7

  條目8

  條目9


 

安裝jdk

  要求安裝jdk1.8或以上版本。

 返回目錄

 

安裝Scala IDE for Eclipse 

  無需額外安裝scala,這個IDE里面已經集成了。

  官方下載:http://scala-ide.org/download/sdk.html

 返回目錄

 

配置Spark 

  下載Spark,我下載的版本如圖所示

  官方下載:http://spark.apache.org/downloads.html

  

  配置環境變量

  變量名:SPARK_HOME  變量值:D:\spark    (不能有空格)

  添加到Path

 

 

 返回目錄

 

配置Hadoop 

  無需安裝完整的Hadoop,但需要hadoop.dll,winutils.exe等文件。根據下載的Spark版本,下載相應版本的hadoop2.7.1。 

  鏈接:https://pan.baidu.com/s/1jHRu9oE 密碼:wdf9

  

  配置環境變量

  

 

 

  添加到Path

  

  重啟計算機!!!環境變量才生效!!!

 返回目錄

 

創建Maven工程 

  方法一:

  

maven project

org.scala-tools.archetypes

scala-archetype-simple

1.2

點擊finish后,會自動下載依賴,稍等片刻

改為

修改pom文件

 

 

 

 

 

 

 在修改pom文件 加入需要的依賴,便可以運行spark代碼。在方法二提供的項目中有pom文件可供參考

 

  方法二:

  創建Maven工程可以快速引入項目需要的jar包。pom.xml文件里包含了一些重要的配置信息。這里提供一個可用的Maven工程:

  鏈接:https://pan.baidu.com/s/1c3244ow 密碼:brwb

 

  導入Maven工程:

  可以先將我提供的工程拷貝到workspace,然后引入

 

 

 

 

  引入后,會自動下載一些jar包,需要等待幾分鍾

 

  下圖說明jar包下載完畢

 

  報錯:

 

   更換一下scala的依賴版本:

 

 

 

 

  運行wordCount.scala程序 

   

 返回目錄

 

Scala代碼 

 

package com.itmorn.ml
import org.apache.spark.{SparkContext, SparkConf}
object wordCount {
  def main(args: Array[String]) {
    val conf = new SparkConf().setMaster("local").setAppName("wordCount")    //創建環境變量
    val sc = new SparkContext(conf)                                //創建環境變量實例
    val data = sc.textFile("data/wc.txt")                                //讀取文件
    data.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect().foreach(println)    //word計數
  }
}

  

import org.apache.spark.sql.SparkSession
import org.apache.log4j.{Level, Logger}
object xgboostTest {
  Logger.getLogger("org").setLevel(Level.ERROR)
  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder()
      .master("local")
      .appName("SparkSessionZipsExample")
      .enableHiveSupport()
      .getOrCreate()

    val line = spark.sparkContext.textFile("wc")

    line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect().foreach(println)

  }
}

  

 返回目錄

 

條目7 

  

 返回目錄

 

條目8 

  

 返回目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM