spark运行简单的demo程序

2021-05-14 16:55:29 浏览数 (1)

spark运行简单的demo程序

使用spark可以直接在命令行中启动spark-shell,然后在spark-shell中使用scala进行数据的处理。现在要介绍的是使用ide进行处理程序的编写。

前提:

1、已经安装好spark能够运行起来。

2、了解基本的scala语法

好,下面上货。

1、首先用maven创建一个简单的quickstart程序

2、在app目录下创建创建一个包,在包中创建scala文件(需要注意的是ide需要安装scala插件)。

效果如图:

可能在创建的时候发现没有scala这个选项,这个时候可以直接新建一个文件,后缀名给成scala即可。

3、编写一个简单的scala程序

代码语言:javascript复制
package com.xueyoucto.xueyou

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

/**
  * Created by Administrator on 2017-01-04.
  */
object First {
  def main(args: Array[String]): Unit = {
    println(123)
    val conf = new SparkConf().setMaster("spark://192.168.1.221:7077").setAppName("firstapp")
    val sc = new SparkContext(conf)
    val a = sc.parallelize(List(1, 2, 3, 4))
    a.persist();
    println(a.count())
    println("============================")
    a.collect().foreach(println)
  }
}

注意,需要引入jar包(这里有很多坑:1、最好不要用maven给的jar包,因为maven自动处理了依赖,即使你的spark版本对了,你的scala的版本可能对不上。2、可能出现链接不上spark://192.168.1.221:7077这个出非是你的spark启动有问题,不然还是因为你的spark的jar包和scala的jar包与真实环境不一样。3、可能会出现main方法中没有 new SparkContext(conf),这个也是因为你的jar包版本。这里要感谢http://stackoverflow.com/questions/34518669/unable-to-connect-to-spark-master,在这里面有很好的回答,我给截个图)

4、为了解决上面的问题,直接从spark中拷出jar包即可。然后在ide中引入,我用的是idea,引入在这里:

5、现在可以愉快的运行了,这是运行结果。

中间的日志略了

0 人点赞