搭建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,开发环境搭建完毕。

时间: 2024-10-20 13:24:31

搭建scala 开发spark程序环境及实例演示的相关文章

底层战详解使用Java开发Spark程序(DT大数据梦工厂)

Scala开发Spark很多,为什么还要用Java开发原因:1.一般Spark作为数据处理引擎,一般会跟IT其它系统配合,现在业界里面处于霸主地位的是Java,有利于团队的组建,易于移交:2.Scala学习角度讲,比Java难.找Scala的高手比Java难,项目的维护和二次开发比较困难:3.很多人员有Java的基础,确保对Scala不是很熟悉的人可以编写课程中的案例预测:2016年Spark取代Map Reduce,拯救HadoopHadoop+Spark = A winning combat

使用scala开发spark入门总结

使用scala开发spark入门总结 一.spark简单介绍 关于spark的介绍网上有很多,可以自行百度和google,这里只做简单介绍.推荐简单介绍连接:http://blog.jobbole.com/89446/ 1.    spark是什么? Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架.一般配合hadoop使用,可以增强hadoop的计算性能. 2.    Spark的优点有哪些? Sp

用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境

原文:用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境 第一步:安装Visual Studio: Visual Studio 2012(或者Visual Studio 2010),原因是目前为止Xamarin for Visual Studio的插件只支持2010和2012版本的,安装过程在此不再赘述. 第二步:安装Xamarin: 1.到http://xamarin.com/download这里去注册一个账号,就可以下载Xamarin的安装包.如下图: 这

搭建Eclipse开发和调试环境(真机)

由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在方便了,下载一个ADT压缩包就搞定了. 简单记录如下: 工具下载: JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html ADT:http://developer.android.com/sdk/index.ht

Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01

创建一个Scala IDEA工程: 点击“Next”: 点击“Finish”完成工程的创建: 修改项目的属性: 首先修改Modules选项: 在src下创建两个文件夹,并把其属性改为source: 再修改Libraries: 因为要开发Spark程序,所以需要把Spark的开发需要的jar包导进来: 导入包完成后,在工程的scala下面创建一个package: 创建一个Object对象: 完成初始类的创建: 首先构建Spark Driver的模板代码: 该程序是对前面的搜狗日志的处理代码,只不过

C、Shell、Perl基于Tomcat开发CGI程序环境配置

基于Tomcat7.0版本配置CGI开发环境,步聚如下: 以我的Tomcat7安装目录为例:TOMCA_HOME = /Users/yangxin/Documents/devToos/java/apache-tomcat-7.0.39 1.打开TOMCA_HOME/conf/web.xml 将CGI的Serlvet配置与URL映射注释打开 <servlet> <servlet-name>cgi</servlet-name> <servlet-class>or

IDE开发Spark程序

IDEA Eclipse 下载scala 下载地址 scala.msi scala环境变量配置 (1)设置SCALA-HOME变量:如图,单击新建,在变量名一栏输入: SCALA-HOME 变量值一栏输入: D:\Program Files\scala 也就是scala的安装目录,根据个人情况有所不同,如果安装在E盘,将"D"改成"E"即可. (2)设置path变量:找到系统变量下的"path"如图,单击编辑.在"变量值"一栏

基于IDEA使用Spark API开发Spark程序

清明假期折腾了两天,总结了两种方式使用IDE进行spark程序,记录一下: 第一种方法比较简单,两种方式都是采用SBT进行编译的. 注意:本地不需要安装Scala程序,否则在编译程序时有版本兼容性问题. 一.基于Non-SBT方式 创建一个Scala IDEA工程 我们使用Non-SBT的方式,点击"Next" 命名工程,其他按照默认 点击"Finish"完成工程的创建 修改项目的属性 首先修改Modules选项 在src下创建两个文件夹,并把其属性改为source

Java开发Spark程序

pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <mo