Spark(Scala)-示例程序

2018-12-01  本文已影响0人  陪你一起debug

1.版本


2.基本环境安装


3.配置ssh免密登录


4.创建Spark项目

创建项目 选择创建Scala项目,选择SBT作为打包工具,相当于Java中的Maven 选择对应版本,第一次创建需要下载一些依赖会比较慢 创建成功后的项目结构

5.示例程序编写

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

/**
  * author: shenke
  * date: 2018/12/1 20:46
  * description: 读取文本文件内容,统计每个单词出现的次数
  * helloSpark.txt文本文件内容示例:
  * hello Spark
  * hello World
  * hello Spark !
  */
object WordCount {

  def main(args: Array[String]) {
    // 创建Spark配置类并且指定名称
    val conf = new SparkConf().setAppName("wordCount");
    
    // 创建Spark上下文对象,加载配置
    val sc = new SparkContext(conf);

    // 读取指定文件内容
    val input = sc.textFile("/usr/local/helloSpark"); 

    // flatMap空格拆分文件内容,拆分后变成:hello,Spark,hello,World,hello,Spark,!
    val lines = input.flatMap(line => line.split(" "));

    // map把单词转换成key:value对的形式,转换后变成:hello:1,Spark:1,hello:1,World:1,hello:1,Spark:1,!:1
    // reduceByKey对相同的key进行reduce操作,这里累加key相同的value,操作后的结果:hello:3,Spark:2,World:1,!:1
    val count = lines.map(word => (word, 1)).reduceByKey { case (x, y) => x + y }

    // 计算结果保存到指定文件
    var output = count.saveAsTextFile("/usr/local/helloSparkRes") 

  }

}

6.编译打包

配置jar包 选择项目和Main Class,OK打包 选择Build项目 Build项目 Build成功会生成MANIFEST.MF文件 同时在项目根目录out目录下会生成打包好的jar包 生成的jar包

7.启动运行

到安装spark环境的虚拟机上访问http://localhost:8080/查看启动worker的地址信息

查看启动worker的地址信息

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://localhost:7077启动worker,这里填写刚才访问web ui查看的address信息

jps查看worker是否已启动

worker已经启动

yum -y install lrzsz安装lrzsz
rz -be上传jar

上传jar包

./bin/spark-submit --master spark://localhost:7077 --class WordCount /usr/local/spark.jar提交作业,指定同上的address,jarMain Class以及jarpath

`

上一篇 下一篇

猜你喜欢

热点阅读