【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 

  

 返回目录

原文地址:https://www.cnblogs.com/itmorn/p/8047230.html