搭建scala 开发spark程序环境及实例演示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建scala 开发spark程序环境及实例演示相关的知识,希望对你有一定的参考价值。

上一篇博文已经介绍了搭建scala的开发环境,现在进入正题。如何开发我们的第一个spark程序。

  1. 下载spark安装包,下载地址http://spark.apache.org/downloads.html(因为开发环境需要引用spark的jar包)

    我下载的是spark-2.1.0-bin-hadoop2.6.tgz,因为我的scalaIDE版本是scala-SDK-4.5.0-vfinal-2.11-win32.win32.x86_64.zip

    最好,IDE版本和spark版本要匹配,否则,开发程序的时候,可能会包引用的jar包错误等等。

  2. new 一个 scala project,然后new 一个 scala object

    技术分享

代码如下:

package com.test

import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
 
 /**
  * 统计字符出现次数
  */
 object WordCount {
   def main(args: Array[String]) {
     if (args.length < 1) {
       System.err.println("Usage: <file>")
       System.exit(1)
     }
 
     val conf = new SparkConf();//创建SparkConf对象
     conf.setAppName("Wow,My First Spark Programe");//设置应用程序的名称,在程序运行的监
     conf.setMaster("local")//此时,程序在本地运行,不需要安装Spark集群

     val sc = new SparkContext(conf);//创建SparkContext对象,通过传入SparkConf实例
//     val lines = sc.textFile(args(0));
     val lines = sc.textFile(args(0));
     val words = lines.flatMap{line => line.split(" ")};//对每一行的字符串进行单词拆
     val pairs = words.map{word => (word,1)};
    
     val wordCounts = pairs.reduceByKey(_+_);//对相同的Key,进行Value的累计(包括Local和Reducer级别同时Reduce)
 //    val wordCounts = pairs.reduce((x,y)=>(x.));
     wordCounts.foreach(wordNumberPair => println(wordNumberPair._1 + " : " +wordNumberPair));
     
 
//     line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect().foreach(println)
 
     sc.stop()
   }
 }

3.配置JDK1.8 和引入spark jar包

spark的jar包是 spark安装包解压之后jars目录里面的jar包,可以把这个目录下面的所有jar包都引入工程

技术分享

技术分享

4.run Configurations,配置运行入参,

因为 这个代码是读入一个文本,在hadoop文件系统,可以spark-submit的时候传入这个参数,在windows 本地开发环境可以在eclipse里面配置这个参数,见下面的图

val lines = sc.textFile(args(0));

技术分享

4.入参文本及运行结果

入参文本:

技术分享

run scala Application运行结果

技术分享

ok,开发环境搭建完毕。

本文出自 “改变世界” 博客,请务必保留此出处http://wongsong.blog.51cto.com/6040075/1898452

以上是关于搭建scala 开发spark程序环境及实例演示的主要内容,如果未能解决你的问题,请参考以下文章

IDEA搭建scala开发环境开发spark应用程序

Spark编程环境搭建及WordCount实例

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例附详细代码

Spark机器学习速成宝典基础篇01Windows下spark开发环境搭建+sbt+idea(Scala版)

在 Ubuntu16.04 中搭建 Spark 单机开发环境 (JDK + Scala + Spark)

Spark框架:Win10系统下搭建Scala开发环境