使用IDEA进行Spark开发(二)-第一个scala程序

上面一篇文章博主已经给大家演示好了如何去配置一个本机的scala开发环境,现在我们就一起去写我们的第一个spark开发的scala程序吧!

  1. 打开IDEA,选择创建一个新的工程文件。
    使用IDEA进行Spark开发(二)-第一个scala程序_第1张图片
  2. 点击scala,创建一个scala工程
    使用IDEA进行Spark开发(二)-第一个scala程序_第2张图片
  3. 输入我们程序名称——word_count,我们要写一个词频统计程序。
    JDK选择1.7
    scala选择我们下载安装好的scala环境目录,这里是2.10.5
    点击完成,即可进入程序界面
    使用IDEA进行Spark开发(二)-第一个scala程序_第3张图片
  4. 导入scala与spark配置
    使用IDEA进行Spark开发(二)-第一个scala程序_第4张图片
    新建两个包,main与count
    便于整理自己的代码结构
  5. 导入scala包与spark包
    右键进入Module setting界面或直接按快捷键F4
    进入librarys
    使用IDEA进行Spark开发(二)-第一个scala程序_第5张图片
    点击JAVA,然后找到spark路径spark-1.5.1-bin-hadoop2.6\lib\spark-assembly-1.5.1-hadoop2.6.0.jar
    导入jar包。
    然后进入global library
    点击scala,导入scala 2.10.5.
    使用IDEA进行Spark开发(二)-第一个scala程序_第6张图片
  6. 新建scala文件,编写scala程序
    使用IDEA进行Spark开发(二)-第一个scala程序_第7张图片
  7. 编写词频统计程序
    程序如下:
package com.exercise

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

/**
 1. Created by flet on 2016/7/7.
 */
object WordCount {
  def main(args : Array[String]) = {
    val conf = new SparkConf().setAppName("WordCount")
    val sc = new SparkContext(conf)
    val input = args(0)
    val texts = sc.textFile(input).map(line => line.split(" "))
      .flatMap(words => words.map(word => (word.replaceAll("[^A-Za-z]", ""), 1)))
    val counts =  texts.reduceByKey(_ + _)
    counts.collect.foreach{
      case (word, num) =>
        println(word + " " + num.toString)
     }

  }
}

8.运行scala程序
指定文件路径
点击右上角,设置路径
使用IDEA进行Spark开发(二)-第一个scala程序_第8张图片
按上面的加号,添加application
填写如下
使用IDEA进行Spark开发(二)-第一个scala程序_第9张图片
9.查看结果
点击运行wordcount
等待一会就会看到控制台输出一些流信息与结果。
如下图:
使用IDEA进行Spark开发(二)-第一个scala程序_第10张图片


到这里,我们的第一个spark开发的scala程序就结束了,我们成功的统计了一篇文章的词频,并且输出在控制台里。
大家有没有感觉到大数据的神奇之处呢?
如果大家有什么问题可以和博主讨论,其实博主也是刚刚接触这一方面。

文章的最好放一张原始数据的图片。
使用IDEA进行Spark开发(二)-第一个scala程序_第11张图片

你可能感兴趣的:(大数据)