使用idea开发Scala的Wordcount程序并提交到spark集群中

开发准备,idea,配置了Scala的win10电脑,因为集群中的spark是1.6版本,所以需要Scala的版本为Scala2.10.5

接下来,将spark的包在win10解压,将lib目录下的

使用idea开发Scala的Wordcount程序并提交到spark集群中

复制一份到一个不含中文的目录中,jar包会有两个,我们需要的是大的那个。

打开idea新建工程,按图选择

使用idea开发Scala的Wordcount程序并提交到spark集群中

选择Scala版本,选择2.10.5的,因为之前安装过2.11的,需要选择到2.10

使用idea开发Scala的Wordcount程序并提交到spark集群中

目录结构

使用idea开发Scala的Wordcount程序并提交到spark集群中

添加一个Scala类,

package cn.spark.study.core

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext

/**
  * @author Administrator
  */
object WordCount {

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

    val lines = sc.textFile("hdfs://master:9000/spark.txt", 1);
    val words = lines.flatMap { line => line.split(" ") }
    val pairs = words.map { word => (word, 1) }
    val wordCounts = pairs.reduceByKey { _ + _ }



    wordCounts.foreach(wordCount => println(wordCount._1 + " appeared " + wordCount._2 + " times."))
  }

}

 接下来选择File--Project Structure

使用idea开发Scala的Wordcount程序并提交到spark集群中

选择+--JAR --from module with dependent

使用idea开发Scala的Wordcount程序并提交到spark集群中

使用idea开发Scala的Wordcount程序并提交到spark集群中 

点击apply   OK

选择build---build artifact

选择clean,第二次选择build,稍等,会提示完成同时会在通知栏提示jar包位置

 

上传jar包,新建脚本

/usr/local/src/spark/bin/spark-submit \
--class cn.spark.study.core.WordCount \
--num-executors 100 \
--driver-memory 4G \
--executor-memory 4 \
--executor-cores 1 \
/root/spark_Test/scala/sparkTest.jar \

运行脚本,运行成功即完成。