Spark入门(无理论)

2020-06-07  本文已影响0人  码戈

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

一、环境配置

1.win10配置

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


需要修改的变量
环境变量可以是相对路径,也可以是绝对路径。JDK直接下载,双击安装就行。
Maven需要进行配置文件修改,修改下载源,指定使用本地环境。
位置:安装路径/conf/settings
image.png
image.png
<mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
      <!--This is used to direct the public snapshots repo in the 
          profile below over to a different nexus group -->
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
    </mirror>
  </mirrors>

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://img.haomeiwen.com/i6334897/57d68c6164bbb8fc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
右上角,添加合适的scala环境,首先要在file--settings-plugins中添加Scala插件
image.png
image.png

3、测试

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

<dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.1.0</version>
        </dependency>
    </dependencies>

新建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
上一篇下一篇

猜你喜欢

热点阅读