Spark入门(无理论)

win10idea+虚拟机(hadoop2.6.1+spark2.1.0)

一、环境配置

1.win10配置

(1)添加JDK1.8、Maven3.3.9、hadoop对应版本插件


需要修改的变量

环境变量可以是相对路径,也可以是绝对路径。JDK直接下载,双击安装就行。
Maven需要进行配置文件修改,修改下载源,指定使用本地环境。
位置:安装路径/conf/settings
image.png

image.png


      
      nexus
      * 
      http://maven.aliyun.com/nexus/content/groups/public/
    
    
      
      nexus-public-snapshots
      public-snapshots 
      http://maven.aliyun.com/nexus/content/repositories/snapshots/
    
  

Hadoop插件
找到对应版本的hadoop-common-2.6.0-bin-master文件并下载,将目录下的hadoop.dll文件拷贝至C:\Windows\System32目录下。然后bin目录写入环境变量。

image.png

2、Linux

Hadoop_HOME,SCALA_HOME,JAVA_HOME,MAVEN_HOME

image.png

注意:选用的scala版本最好与使用的spark版本相互对应,否则会影响与window的交互,可在spark-shell的启动界面查看。


image.png

二、连接本地win10

1、spark安装

解压、修改conf下的slaves、spark-env.sh,分发到其余的节点,收工。没事不要配置DRIVER_MEMORY参数,可以会导致shell无法启动


image.png

image.png

2、win10+idea

idea免费的、破解的都行
进去idea,左上角 file--settings--maven 设置成自己配置的路径


image.png

创建maven工程没有src模块的,可以在该界面,加参数
archetypeCatalog=internal


image.png

创建工程(建java工程和maven工程都可以反正都能导环境)


Snipaste_2020-06-07_11-47-10.png

Snipaste_2020-06-07_11-53-28.png

添加maven环境


![Snipaste_2020-06-07_11-54-28.png](https://upload-images.jianshu.io/upload_images/6334897-57d68c6164bbb8fc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

右上角,添加合适的scala环境,首先要在file--settings-plugins中添加Scala插件
image.png

image.png

3、测试

修改pom.xml文件,加上需要用到的环境


        
            org.apache.spark
            spark-core_2.11
            2.1.0
        
    

新建scala类


image.png
import org.apache.spark.{SparkContext, SparkConf}

object wordcount {
  def main(args: Array[String]): Unit = {

    val conf = new SparkConf()  //创建Spark配置对象

    conf.setAppName("Wordcount")
    conf.setMaster("local")     //设置master属性
    val sc = new SparkContext(conf)  //通过conf创建sc

    //val filePath = "G://data/t1/red.txt"
    val rdd1 = sc.textFile("g:/data/t1/red.txt.txt")
    //val rdd1 = sc.textFile("192.168.31.160:/home/softwares/hadoop-2.6.1/red.txt")    //加载文本文件
    val rdd2 = rdd1.flatMap(line =>line.split(" "))    //压扁,扁平化处理数据
    val rdd3 = rdd2.map((_,1))          //将word映射为 (w,1)
    val rdd4 = rdd3.reduceByKey(_ + _)   //reduce处理
    val r = rdd4.collect()           //聚合
    r.foreach(println)

  }

}

我解释一下为毛加载文件修改了那么多次,win10隐藏了文件后缀,导致red.txt一直找不到,百度也没找到方法,看属性的时候意外看到了QAQ


image.png

最后成功运行


image.png

你可能感兴趣的:(Spark入门(无理论))