Spark之初体验:maven如何新建一个spark项目

Spark之初体验:maven如何新建一个spark项目

基于maven如何新建一个spark项目?

Spark之初体验:maven如何新建一个spark项目_第1张图片

会让你选择Java的版本,这里只要是1.8以上的就OK

然后下一步:

Spark之初体验:maven如何新建一个spark项目_第2张图片

这里的groupid就是项目所属的哪个组下面,artifactid是指详细的哪个文件,这里要好好写,因为后面pom配置还有这两项。

输入project name和位置:

Spark之初体验:maven如何新建一个spark项目_第3张图片

新建了文件之后,看到相关的文件目录和pom文件如下:

Spark之初体验:maven如何新建一个spark项目_第4张图片

Spark之初体验:maven如何新建一个spark项目_第5张图片

Spark之初体验:maven如何新建一个spark项目_第6张图片

然后要在main中创建一个Scala的文件夹;我们发现这个文件夹右键不能创建scala class.

这是因为Java和scala两个文件夹的目录颜色不一致,归根到底是属性不一致,这里需要配置一下。

Spark之初体验:maven如何新建一个spark项目_第7张图片

找到file里面的project structure.打开进行设置:

Spark之初体验:maven如何新建一个spark项目_第8张图片

把它配置成source的属性。

Spark之初体验:maven如何新建一个spark项目_第9张图片

然后发现可以创建java class了,但是,为什么没有Scala class??

其实还要配置libraries这里,打开刚才的project structure:

Spark之初体验:maven如何新建一个spark项目_第10张图片

然后就有了:

Spark之初体验:maven如何新建一个spark项目_第11张图片

我们创建一个Scala class 然后创建把代码搞进去:

package com.july.spark_new

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.log4j.{Level, Logger}

/**
  * Created by tsun on 19/3/23.
  */
object test {

  def main(args: Array[String]) {
    Logger.getLogger("org").setLevel(Level.ERROR)

    val sparkConf = new SparkConf().setAppName("spark api").setMaster("local")
    sparkConf.set("spark.testing.memory", "2147480000")
    val sparkContext = new SparkContext(sparkConf)

    val data = Array(1, 2, 3, 4, 5)
    val inputRdd = sparkContext.parallelize(data)

    inputRdd.collect().foreach(println(_))
    println("fuck the spark!!!!!!!!")


  }
}

Spark之初体验:maven如何新建一个spark项目_第12张图片

为啥这么多的红字,在intellij 中这些红字都是报错,那为啥会报错呢,然后报错的意思是我们没有这个包,无法导入,为啥无法导入呢??我们发现是由于spark的jars包没有被引进来,怎么做?

打开project structure:

Spark之初体验:maven如何新建一个spark项目_第13张图片

如你所看到的,这个spark的jars包是必须导进来的。

一下就神清气爽了有没有?

Spark之初体验:maven如何新建一个spark项目_第14张图片

然后运行,报错如下:java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please increase heap size using the --driver-memory option or spark.driver.memory in Spark configuration.

Spark之初体验:maven如何新建一个spark项目_第15张图片

这就说的是分配的内存不够,好的,然后我们手动分配一下:

Spark之初体验:maven如何新建一个spark项目_第16张图片

就是这一句,然后,运行:

Spark之初体验:maven如何新建一个spark项目_第17张图片

成功了,对不对?

其实为了得到上面的这句:“f**k the spark”,真的是非常非常不容易。断断续续配置了好几天,才弄出来。

因为搭建这个spark的真的是挺费神的,首先要找个合适的scala版本,但是这个scala的下载就很恼火(国外的网站,你知道的,看来还真得花点钱科学上网才行)。然后好容易搞了个2.12.3的scala, jdk是需要的1.8以上,然后maven也要下载一个;最后才发现自己竟然没有下spark,然后又下spark,spark也下了两次,最后的版本是2.4.3的,然后当然需要Hadoop了,这两个都还顺利,下好解压,然后配置环境变量就能用了。然后scala的版本太高,和spark有冲突,继续报错,无奈又下2.11.7的scala。

真的是不容易,建议以后同志们要配置好的话,还是谨慎一点,把各个组件的版本都搞清楚,然后争取两次成功,因为一次成功是不可能的。。。

好了,先写到这里,其实这个东西,多试试,总能出来的,对不对?我们需要的就是一次一次的尝试,到最后突然跑通的那一下,都值了。

你可能感兴趣的:(spark)