spark develop env on eclipse

2018-03-27 15:51:04
开发准备

  jdk1.8.45
  spark-2.1.1-bin-hadoop2.7
  CentOS系统
  spark安装环境
  hadoop-2.7.2
  Hadoop安装环境

开发环境配置
  1. 这里下载ScaleIDE for Win64,其他可选对应版本
  2. 解压后,直接运行里边的eclipse
  3. 建立scala project,并创建scala类 WordCount
  4. 右键工程属性,添加spark-2.1.1-bin-hadoop2.7下面所有的库,可自定义库放进来:Java Build Path => Libraries => Add library,这里有个小知识:
    add external jars = 增加工程外部的包
    add jars = 增加工程内包
    add library = 增加一个库 // 是一些已经定义好的jar的集合
    add class folder = 添加类的目录,是指本Eclipse范围中的,在工程列表下选取接口
    区别:通过“add jar” 和“add external jars”添加的jar包作为程序的一部分被打包到最终的程序中。通过“User Libraries”添加的jar包不是。

  5. 编辑代码如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    package cn.spark.study.core
    import org.apache.spark.SparkConf
    import org.apache.spark.SparkContext

    object WordCount {

    def main(args: Array[String]) {
    val conf= new SparkConf()
    .setAppName("WordCount")
    .setMaster("local")

    val sc = new SparkContext(conf)
    val lines = sc.textFile("C:\\Users\\Administrator\\Desktop\\spark.txt")

    val words = lines.flatMap{line => line.split(" ")}
    val pairs = words.map{word => (word,1)}

    val wordCounts = pairs.reduceByKey(_+_)
    wordCounts.foreach(wordNumberPair => println(wordNumberPair._1 + " : " + wordNumberPair._2 + "times ."))
    sc.stop()

    }
    }
  6. 右键,导出jar文件

  7. 在spark部署路径执行

    1
    2
    3
    4
    5
    /usr/local/spark/bin/spark-submit \
    --class cn.spark.study.core.WordCount \
    --num-executors 1 \
    --executor-memory 1g \
    /spark/scala/spark.study.scala.jar \
  8. 参数解析:
    可以执行./spark-submit –help获得帮助


您的鼓励是我写作最大的动力

俗话说,投资效率是最好的投资。 如果您感觉我的文章质量不错,读后收获很大,预计能为您提高 10% 的工作效率,不妨小额捐助我一下,让我有动力继续写出更多好文章。