Spark-windows安装与实践

Spark-Windows安装与实践


有时候懒得开虚拟机,windows也凑合

安装开发环境

1.安装spark
这里不再赘述,http://spark.apache.org/downloads.html下载spark-xx-bin-hadoop即可,配置路径环境变量,路径记得加上bin
然后spark的安装文件夹做如下处理
第一步,去掉只读、隐藏
在这里插入图片描述
第二步,勾选完全控制
在这里插入图片描述
不然spark-shell启动会
在这里插入图片描述
然后赋权

PS I:\develop_software\hadoop-2.7.7\bin> .\winutils.exe ls \tmp\hive
d--------- 1 PC-20200212XFBQ\Administrator PC-20200212XFBQ\None 0 Aug  8 2020 \tmp\hive
PS I:\develop_software\hadoop-2.7.7\bin> .\winutils.exe chmod 777 \tmp\hive
PS I:\develop_software\hadoop-2.7.7\bin> spark-shell

在这里插入图片描述

2.安装hadoop
http://mirrors.hust.edu.cn/apache/hadoop/common/下载hadoop-xx-tar.gz
特别注意
为了防止运行程序的时候出现nullpoint异常,到github下载hadoop.dll和winutils.exe 下载地址:https://github.com/steveloughran/winutils
找到对应的hadoop版本,然后把hadoop安装的目录的bin改名bin-bak, 然后把winutil下载的hadoop的bin复制到所安装hadoop的bin目录下替代掉原来的。
在这里插入图片描述
测试hadoop能不能用
在这里插入图片描述

3.安装scala,这里不多讲。同理安装jdk。
在这里插入图片描述
Spark开发有两种方式,一种是用内置的spark-shell,另一种是独立应用开发,独立应用开发支持的语言有Java、Scala、Python和R语言

试一下wordcount程序

package scala
import org.apache.spark.{SparkConf,SparkContext}

object WordCount1{
  def main(args:Array[String]):Unit={
    //1.创建SparkConf并设置App名称,在本地运行Master,设置为local[*]
    val conf = new SparkConf().setAppName("WC").setMaster("local[*]")

    //2.创建SparkContext,该对象是提交Spark App的入口
    val sc = new SparkContext(conf)

    //3.使用sc创建RDD并执行相应的transformation和action
    /*
    * sc.textFile方法可以读取数据,也可以从其他数据源读取数据,
    * 前提是本地安装了hadoop.bin目录下面有winutils相关dll并配置了hadoophome环境变量
    * 也可以写hdfs文件路径。
    * flatmap方法将数据切分压平
    * map对数据进行映射,reduceByKey则将相同key的数据进行聚合
    * */

    val result = sc.textFile("C:\\Users\\Administrator\\IdeaProjects\\SparkLearning\\src\\main\\scala\\文本.txt").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_, 1).sortBy(_._2, false).collect()
    println(result.toBuffer)

    //4.关闭连接
    sc.stop()
  }
}

我随便打的txt
在这里插入图片描述

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值